FlatRecord.cxx
Go to the documentation of this file.
1 // This file was auto-generated by SRProxy's gen_srproxy.
2 // DO NOT EDIT IT DIRECTLY.
3 
4 #include "FlatMaker/FlatRecord.h"
5 
7 
8 flat::Flat<caf::SRSLidEnergy>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
9  E(tr, prefix+".E", totsize, policy),
10  depE(tr, prefix+".depE", totsize, policy),
11  hadE(tr, prefix+".hadE", totsize, policy),
12  shwE(tr, prefix+".shwE", totsize, policy)
13 {
14 }
15 
17 {
18  E.Fill(sr.E);
19  depE.Fill(sr.depE);
20  hadE.Fill(sr.hadE);
21  shwE.Fill(sr.shwE);
22 }
23 
25 {
26  E.Clear();
27  depE.Clear();
28  hadE.Clear();
29  shwE.Clear();
30 }
31 
32 flat::Flat<caf::SRNueEnergy>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
33  lid(tr, prefix+".lid", totsize, policy),
34  rawgevhad(tr, prefix+".rawgevhad", totsize, policy),
35  rawgevshw(tr, prefix+".rawgevshw", totsize, policy),
36  rawgevslice(tr, prefix+".rawgevslice", totsize, policy),
37  regcvnEvtE(tr, prefix+".regcvnEvtE", totsize, policy),
38  regcvnEvtE_opphorn(tr, prefix+".regcvnEvtE_opphorn", totsize, policy)
39 {
40 }
41 
43 {
44  lid.Fill(sr.lid);
45  rawgevhad.Fill(sr.rawgevhad);
46  rawgevshw.Fill(sr.rawgevshw);
47  rawgevslice.Fill(sr.rawgevslice);
48  regcvnEvtE.Fill(sr.regcvnEvtE);
49  regcvnEvtE_opphorn.Fill(sr.regcvnEvtE_opphorn);
50 }
51 
53 {
54  lid.Clear();
55  rawgevhad.Clear();
56  rawgevshw.Clear();
57  rawgevslice.Clear();
58  regcvnEvtE.Clear();
59  regcvnEvtE_opphorn.Clear();
60 }
61 
62 flat::Flat<caf::SRBPFEnergy>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
63  DirZMuon(tr, prefix+".DirZMuon", totsize, policy),
64  E1(tr, prefix+".E1", totsize, policy),
65  E2(tr, prefix+".E2", totsize, policy),
66  E3(tr, prefix+".E3", totsize, policy),
67  EFuzzyK3D(tr, prefix+".EFuzzyK3D", totsize, policy),
68  ERemain(tr, prefix+".ERemain", totsize, policy),
69  Eres1(tr, prefix+".Eres1", totsize, policy),
70  Eres2(tr, prefix+".Eres2", totsize, policy),
71  Eres3(tr, prefix+".Eres3", totsize, policy),
72  EventID(tr, prefix+".EventID", totsize, policy),
73  N3DProngs(tr, prefix+".N3DProngs", totsize, policy),
74  PMuon(tr, prefix+".PMuon", totsize, policy),
75  SumPE(tr, prefix+".SumPE", totsize, policy)
76 {
77 }
78 
80 {
81  DirZMuon.Fill(sr.DirZMuon);
82  E1.Fill(sr.E1);
83  E2.Fill(sr.E2);
84  E3.Fill(sr.E3);
85  EFuzzyK3D.Fill(sr.EFuzzyK3D);
86  ERemain.Fill(sr.ERemain);
87  Eres1.Fill(sr.Eres1);
88  Eres2.Fill(sr.Eres2);
89  Eres3.Fill(sr.Eres3);
90  EventID.Fill(sr.EventID);
91  N3DProngs.Fill(sr.N3DProngs);
92  PMuon.Fill(sr.PMuon);
93  SumPE.Fill(sr.SumPE);
94 }
95 
97 {
98  DirZMuon.Clear();
99  E1.Clear();
100  E2.Clear();
101  E3.Clear();
102  EFuzzyK3D.Clear();
103  ERemain.Clear();
104  Eres1.Clear();
105  Eres2.Clear();
106  Eres3.Clear();
107  EventID.Clear();
108  N3DProngs.Clear();
109  PMuon.Clear();
110  SumPE.Clear();
111 }
112 
113 flat::Flat<caf::SRVector3D>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
114  x(tr, prefix+".x", totsize, policy),
115  y(tr, prefix+".y", totsize, policy),
116  z(tr, prefix+".z", totsize, policy)
117 {
118 }
119 
121 {
122  x.Fill(sr.x);
123  y.Fill(sr.y);
124  z.Fill(sr.z);
125 }
126 
128 {
129  x.Clear();
130  y.Clear();
131  z.Clear();
132 }
133 
134 flat::Flat<caf::SRHadClust>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
135  boxmax(tr, prefix+".boxmax", totsize, policy),
136  boxmin(tr, prefix+".boxmin", totsize, policy),
137  calE(tr, prefix+".calE", totsize, policy),
138  firstcell(tr, prefix+".firstcell", totsize, policy),
139  firstplane(tr, prefix+".firstplane", totsize, policy),
140  lastcell(tr, prefix+".lastcell", totsize, policy),
141  lastplane(tr, prefix+".lastplane", totsize, policy),
142  meanpos(tr, prefix+".meanpos", totsize, policy),
143  ncalhit(tr, prefix+".ncalhit", totsize, policy),
144  ncellsfromedge(tr, prefix+".ncellsfromedge", totsize, policy),
145  ncontplanes(tr, prefix+".ncontplanes", totsize, policy),
146  nhit(tr, prefix+".nhit", totsize, policy),
147  nmiphit(tr, prefix+".nmiphit", totsize, policy)
148 {
149 }
150 
152 {
153  boxmax.Fill(sr.boxmax);
154  boxmin.Fill(sr.boxmin);
155  calE.Fill(sr.calE);
156  firstcell.Fill(sr.firstcell);
157  firstplane.Fill(sr.firstplane);
158  lastcell.Fill(sr.lastcell);
159  lastplane.Fill(sr.lastplane);
160  meanpos.Fill(sr.meanpos);
161  ncalhit.Fill(sr.ncalhit);
162  ncellsfromedge.Fill(sr.ncellsfromedge);
163  ncontplanes.Fill(sr.ncontplanes);
164  nhit.Fill(sr.nhit);
165  nmiphit.Fill(sr.nmiphit);
166 }
167 
169 {
170  boxmax.Clear();
171  boxmin.Clear();
172  calE.Clear();
173  firstcell.Clear();
174  firstplane.Clear();
175  lastcell.Clear();
176  lastplane.Clear();
177  meanpos.Clear();
178  ncalhit.Clear();
179  ncellsfromedge.Clear();
180  ncontplanes.Clear();
181  nhit.Clear();
182  nmiphit.Clear();
183 }
184 
186  truegoodmuon(tr, prefix+".truegoodmuon", totsize, policy),
187  truemuonE(tr, prefix+".truemuonE", totsize, policy),
188  truemuoncatcherE(tr, prefix+".truemuoncatcherE", totsize, policy)
189 {
190 }
191 
193 {
194  truegoodmuon.Fill(sr.truegoodmuon);
195  truemuonE.Fill(sr.truemuonE);
196  truemuoncatcherE.Fill(sr.truemuoncatcherE);
197 }
198 
200 {
201  truegoodmuon.Clear();
202  truemuonE.Clear();
203  truemuoncatcherE.Clear();
204 }
205 
206 flat::Flat<caf::SRNumuEnergy>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
207  E(tr, prefix+".E", totsize, policy),
208  angleE(tr, prefix+".angleE", totsize, policy),
209  angleerror(tr, prefix+".angleerror", totsize, policy),
210  bpfenergy(tr, prefix+".bpfenergy", totsize, policy),
211  calccE(tr, prefix+".calccE", totsize, policy),
212  hadcalE(tr, prefix+".hadcalE", totsize, policy),
213  hadclust(tr, prefix+".hadclust", totsize, policy),
214  hadtrkE(tr, prefix+".hadtrkE", totsize, policy),
215  lstmmuon(tr, prefix+".lstmmuon", totsize, policy),
216  lstmmuon_opphorn(tr, prefix+".lstmmuon_opphorn", totsize, policy),
217  lstmnu(tr, prefix+".lstmnu", totsize, policy),
218  lstmnu_opphorn(tr, prefix+".lstmnu_opphorn", totsize, policy),
219  mc(tr, prefix+".mc", totsize, policy),
220  ndhadcalactE(tr, prefix+".ndhadcalactE", totsize, policy),
221  ndhadcalcatE(tr, prefix+".ndhadcalcatE", totsize, policy),
222  ndhadcaltranE(tr, prefix+".ndhadcaltranE", totsize, policy),
223  ndhadtrkactE(tr, prefix+".ndhadtrkactE", totsize, policy),
224  ndhadtrkcatE(tr, prefix+".ndhadtrkcatE", totsize, policy),
225  ndhadtrktranE(tr, prefix+".ndhadtrktranE", totsize, policy),
226  ndtrkcalactE(tr, prefix+".ndtrkcalactE", totsize, policy),
227  ndtrkcalcatE(tr, prefix+".ndtrkcalcatE", totsize, policy),
228  ndtrkcaltranE(tr, prefix+".ndtrkcaltranE", totsize, policy),
229  ndtrklenact(tr, prefix+".ndtrklenact", totsize, policy),
230  ndtrklencat(tr, prefix+".ndtrklencat", totsize, policy),
231  ndtrktranx(tr, prefix+".ndtrktranx", totsize, policy),
232  ndtrktrany(tr, prefix+".ndtrktrany", totsize, policy),
233  recomuonE(tr, prefix+".recomuonE", totsize, policy),
234  recotrkcchadE(tr, prefix+".recotrkcchadE", totsize, policy),
235  regcvnhadE(tr, prefix+".regcvnhadE", totsize, policy),
236  regcvnhadE_opphorn(tr, prefix+".regcvnhadE_opphorn", totsize, policy),
237  shiftedtrkccE(tr, prefix+".shiftedtrkccE", totsize, policy),
238  trkccE(tr, prefix+".trkccE", totsize, policy),
239  trknonqeE(tr, prefix+".trknonqeE", totsize, policy),
240  trkqeE(tr, prefix+".trkqeE", totsize, policy),
241  ucrecomuonE(tr, prefix+".ucrecomuonE", totsize, policy),
242  ucrecomuonE1trk(tr, prefix+".ucrecomuonE1trk", totsize, policy)
243 {
244 }
245 
247 {
248  E.Fill(sr.E);
249  angleE.Fill(sr.angleE);
250  angleerror.Fill(sr.angleerror);
251  bpfenergy.Fill(sr.bpfenergy);
252  calccE.Fill(sr.calccE);
253  hadcalE.Fill(sr.hadcalE);
254  hadclust.Fill(sr.hadclust);
255  hadtrkE.Fill(sr.hadtrkE);
256  lstmmuon.Fill(sr.lstmmuon);
257  lstmmuon_opphorn.Fill(sr.lstmmuon_opphorn);
258  lstmnu.Fill(sr.lstmnu);
259  lstmnu_opphorn.Fill(sr.lstmnu_opphorn);
260  mc.Fill(sr.mc);
261  ndhadcalactE.Fill(sr.ndhadcalactE);
262  ndhadcalcatE.Fill(sr.ndhadcalcatE);
263  ndhadcaltranE.Fill(sr.ndhadcaltranE);
264  ndhadtrkactE.Fill(sr.ndhadtrkactE);
265  ndhadtrkcatE.Fill(sr.ndhadtrkcatE);
266  ndhadtrktranE.Fill(sr.ndhadtrktranE);
267  ndtrkcalactE.Fill(sr.ndtrkcalactE);
268  ndtrkcalcatE.Fill(sr.ndtrkcalcatE);
269  ndtrkcaltranE.Fill(sr.ndtrkcaltranE);
270  ndtrklenact.Fill(sr.ndtrklenact);
271  ndtrklencat.Fill(sr.ndtrklencat);
272  ndtrktranx.Fill(sr.ndtrktranx);
273  ndtrktrany.Fill(sr.ndtrktrany);
274  recomuonE.Fill(sr.recomuonE);
275  recotrkcchadE.Fill(sr.recotrkcchadE);
276  regcvnhadE.Fill(sr.regcvnhadE);
277  regcvnhadE_opphorn.Fill(sr.regcvnhadE_opphorn);
278  shiftedtrkccE.Fill(sr.shiftedtrkccE);
279  trkccE.Fill(sr.trkccE);
280  trknonqeE.Fill(sr.trknonqeE);
281  trkqeE.Fill(sr.trkqeE);
282  ucrecomuonE.Fill(sr.ucrecomuonE);
283  ucrecomuonE1trk.Fill(sr.ucrecomuonE1trk);
284 }
285 
287 {
288  E.Clear();
289  angleE.Clear();
290  angleerror.Clear();
291  bpfenergy.Clear();
292  calccE.Clear();
293  hadcalE.Clear();
294  hadclust.Clear();
295  hadtrkE.Clear();
296  lstmmuon.Clear();
297  lstmmuon_opphorn.Clear();
298  lstmnu.Clear();
299  lstmnu_opphorn.Clear();
300  mc.Clear();
301  ndhadcalactE.Clear();
302  ndhadcalcatE.Clear();
303  ndhadcaltranE.Clear();
304  ndhadtrkactE.Clear();
305  ndhadtrkcatE.Clear();
306  ndhadtrktranE.Clear();
307  ndtrkcalactE.Clear();
308  ndtrkcalcatE.Clear();
309  ndtrkcaltranE.Clear();
310  ndtrklenact.Clear();
311  ndtrklencat.Clear();
312  ndtrktranx.Clear();
313  ndtrktrany.Clear();
314  recomuonE.Clear();
315  recotrkcchadE.Clear();
316  regcvnhadE.Clear();
317  regcvnhadE_opphorn.Clear();
318  shiftedtrkccE.Clear();
319  trkccE.Clear();
320  trknonqeE.Clear();
321  trkqeE.Clear();
322  ucrecomuonE.Clear();
323  ucrecomuonE1trk.Clear();
324 }
325 
326 flat::Flat<caf::SREnergyBranch>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
327  nue(tr, prefix+".nue", totsize, policy),
328  numu(tr, prefix+".numu", totsize, policy)
329 {
330 }
331 
333 {
334  nue.Fill(sr.nue);
335  numu.Fill(sr.numu);
336 }
337 
339 {
340  nue.Clear();
341  numu.Clear();
342 }
343 
344 flat::Flat<caf::SRHeader>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
345  batch(tr, prefix+".batch", totsize, policy),
346  blind(tr, prefix+".blind", totsize, policy),
347  cycle(tr, prefix+".cycle", totsize, policy),
348  day(tr, prefix+".day", totsize, policy),
349  det(tr, prefix+".det", totsize, policy),
350  dibfirst(tr, prefix+".dibfirst", totsize, policy),
351  diblast(tr, prefix+".diblast", totsize, policy),
352  dibmask(tr, prefix+".dibmask", totsize, policy),
353  doy(tr, prefix+".doy", totsize, policy),
354  evt(tr, prefix+".evt", totsize, policy),
355  filt(tr, prefix+".filt", totsize, policy),
356  finetiming(tr, prefix+".finetiming", totsize, policy),
357  gain(tr, prefix+".gain", totsize, policy),
358  hour(tr, prefix+".hour", totsize, policy),
359  ismc(tr, prefix+".ismc", totsize, policy),
360  maskstatus(tr, prefix+".maskstatus", totsize, policy),
361  minute(tr, prefix+".minute", totsize, policy),
362  month(tr, prefix+".month", totsize, policy),
363  nbadchan(tr, prefix+".nbadchan", totsize, policy),
364  ntotchan(tr, prefix+".ntotchan", totsize, policy),
365  run(tr, prefix+".run", totsize, policy),
366  second(tr, prefix+".second", totsize, policy),
367  subevt(tr, prefix+".subevt", totsize, policy),
368  subevtendtime(tr, prefix+".subevtendtime", totsize, policy),
369  subevtmeantime(tr, prefix+".subevtmeantime", totsize, policy),
370  subevtstarttime(tr, prefix+".subevtstarttime", totsize, policy),
371  subrun(tr, prefix+".subrun", totsize, policy),
372  unixtime(tr, prefix+".unixtime", totsize, policy),
373  year(tr, prefix+".year", totsize, policy)
374 {
375 }
376 
378 {
379  batch.Fill(sr.batch);
380  blind.Fill(sr.blind);
381  cycle.Fill(sr.cycle);
382  day.Fill(sr.day);
383  det.Fill(sr.det);
384  dibfirst.Fill(sr.dibfirst);
385  diblast.Fill(sr.diblast);
386  dibmask.Fill(sr.dibmask);
387  doy.Fill(sr.doy);
388  evt.Fill(sr.evt);
389  filt.Fill(sr.filt);
390  finetiming.Fill(sr.finetiming);
391  gain.Fill(sr.gain);
392  hour.Fill(sr.hour);
393  ismc.Fill(sr.ismc);
394  maskstatus.Fill(sr.maskstatus);
395  minute.Fill(sr.minute);
396  month.Fill(sr.month);
397  nbadchan.Fill(sr.nbadchan);
398  ntotchan.Fill(sr.ntotchan);
399  run.Fill(sr.run);
400  second.Fill(sr.second);
401  subevt.Fill(sr.subevt);
402  subevtendtime.Fill(sr.subevtendtime);
403  subevtmeantime.Fill(sr.subevtmeantime);
404  subevtstarttime.Fill(sr.subevtstarttime);
405  subrun.Fill(sr.subrun);
406  unixtime.Fill(sr.unixtime);
407  year.Fill(sr.year);
408 }
409 
411 {
412  batch.Clear();
413  blind.Clear();
414  cycle.Clear();
415  day.Clear();
416  det.Clear();
417  dibfirst.Clear();
418  diblast.Clear();
419  dibmask.Clear();
420  doy.Clear();
421  evt.Clear();
422  filt.Clear();
423  finetiming.Clear();
424  gain.Clear();
425  hour.Clear();
426  ismc.Clear();
427  maskstatus.Clear();
428  minute.Clear();
429  month.Clear();
430  nbadchan.Clear();
431  ntotchan.Clear();
432  run.Clear();
433  second.Clear();
434  subevt.Clear();
435  subevtendtime.Clear();
436  subevtmeantime.Clear();
437  subevtstarttime.Clear();
438  subrun.Clear();
439  unixtime.Clear();
440  year.Clear();
441 }
442 
444  E(tr, prefix+".E", totsize, policy),
445  px(tr, prefix+".px", totsize, policy),
446  py(tr, prefix+".py", totsize, policy),
447  pz(tr, prefix+".pz", totsize, policy)
448 {
449 }
450 
452 {
453  E.Fill(sr.E);
454  px.Fill(sr.px);
455  py.Fill(sr.py);
456  pz.Fill(sr.pz);
457 }
458 
460 {
461  E.Clear();
462  px.Clear();
463  py.Clear();
464  pz.Clear();
465 }
466 
467 flat::Flat<caf::SRTrueMichelE>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
468  E(tr, prefix+".E", totsize, policy),
469  mustop(tr, prefix+".mustop", totsize, policy),
470  p(tr, prefix+".p", totsize, policy),
471  time(tr, prefix+".time", totsize, policy),
472  visE(tr, prefix+".visE", totsize, policy)
473 {
474 }
475 
477 {
478  E.Fill(sr.E);
479  mustop.Fill(sr.mustop);
480  p.Fill(sr.p);
481  time.Fill(sr.time);
482  visE.Fill(sr.visE);
483 }
484 
486 {
487  E.Clear();
488  mustop.Clear();
489  p.Clear();
490  time.Clear();
491  visE.Clear();
492 }
493 
494 flat::Flat<caf::SRCosmic>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
495  E(tr, prefix+".E", totsize, policy),
496  azimuth(tr, prefix+".azimuth", totsize, policy),
497  eff(tr, prefix+".eff", totsize, policy),
498  enter(tr, prefix+".enter", totsize, policy),
499  exit(tr, prefix+".exit", totsize, policy),
500  michel(tr, prefix+".michel", totsize, policy),
501  nhitslc(tr, prefix+".nhitslc", totsize, policy),
502  nhittot(tr, prefix+".nhittot", totsize, policy),
503  p(tr, prefix+".p", totsize, policy),
504  pdg(tr, prefix+".pdg", totsize, policy),
505  penter(tr, prefix+".penter", totsize, policy),
506  pur(tr, prefix+".pur", totsize, policy),
507  stop(tr, prefix+".stop", totsize, policy),
508  time(tr, prefix+".time", totsize, policy),
509  visE(tr, prefix+".visE", totsize, policy),
510  visEinslc(tr, prefix+".visEinslc", totsize, policy),
511  vtx(tr, prefix+".vtx", totsize, policy),
512  zenith(tr, prefix+".zenith", totsize, policy)
513 {
514 }
515 
517 {
518  E.Fill(sr.E);
519  azimuth.Fill(sr.azimuth);
520  eff.Fill(sr.eff);
521  enter.Fill(sr.enter);
522  exit.Fill(sr.exit);
523  michel.Fill(sr.michel);
524  nhitslc.Fill(sr.nhitslc);
525  nhittot.Fill(sr.nhittot);
526  p.Fill(sr.p);
527  pdg.Fill(sr.pdg);
528  penter.Fill(sr.penter);
529  pur.Fill(sr.pur);
530  stop.Fill(sr.stop);
531  time.Fill(sr.time);
532  visE.Fill(sr.visE);
533  visEinslc.Fill(sr.visEinslc);
534  vtx.Fill(sr.vtx);
535  zenith.Fill(sr.zenith);
536 }
537 
539 {
540  E.Clear();
541  azimuth.Clear();
542  eff.Clear();
543  enter.Clear();
544  exit.Clear();
545  michel.Clear();
546  nhitslc.Clear();
547  nhittot.Clear();
548  p.Clear();
549  pdg.Clear();
550  penter.Clear();
551  pur.Clear();
552  stop.Clear();
553  time.Clear();
554  visE.Clear();
555  visEinslc.Clear();
556  vtx.Clear();
557  zenith.Clear();
558 }
559 
560 flat::Flat<caf::SRBeam>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
561  dk2gen(tr, prefix+".dk2gen", totsize, policy),
562  dk2vtx(tr, prefix+".dk2vtx", totsize, policy),
563  gen2vtx(tr, prefix+".gen2vtx", totsize, policy),
564  mupare(tr, prefix+".mupare", totsize, policy),
565  muparp(tr, prefix+".muparp", totsize, policy),
566  ndecay(tr, prefix+".ndecay", totsize, policy),
567  necm(tr, prefix+".necm", totsize, policy),
568  nimpwt(tr, prefix+".nimpwt", totsize, policy),
569  pdp(tr, prefix+".pdp", totsize, policy),
570  potnum(tr, prefix+".potnum", totsize, policy),
571  ppdxdz(tr, prefix+".ppdxdz", totsize, policy),
572  ppdydz(tr, prefix+".ppdydz", totsize, policy),
573  ppenergy(tr, prefix+".ppenergy", totsize, policy),
574  ppmedium(tr, prefix+".ppmedium", totsize, policy),
575  pppz(tr, prefix+".pppz", totsize, policy),
576  ppv(tr, prefix+".ppv", totsize, policy),
577  ptype(tr, prefix+".ptype", totsize, policy),
578  runjob(tr, prefix+".runjob", totsize, policy),
579  tgen(tr, prefix+".tgen", totsize, policy),
580  tgptype(tr, prefix+".tgptype", totsize, policy),
581  tp(tr, prefix+".tp", totsize, policy),
582  tptype(tr, prefix+".tptype", totsize, policy),
583  tv(tr, prefix+".tv", totsize, policy),
584  v(tr, prefix+".v", totsize, policy)
585 {
586 }
587 
589 {
590  dk2gen.Fill(sr.dk2gen);
591  dk2vtx.Fill(sr.dk2vtx);
592  gen2vtx.Fill(sr.gen2vtx);
593  mupare.Fill(sr.mupare);
594  muparp.Fill(sr.muparp);
595  ndecay.Fill(sr.ndecay);
596  necm.Fill(sr.necm);
597  nimpwt.Fill(sr.nimpwt);
598  pdp.Fill(sr.pdp);
599  potnum.Fill(sr.potnum);
600  ppdxdz.Fill(sr.ppdxdz);
601  ppdydz.Fill(sr.ppdydz);
602  ppenergy.Fill(sr.ppenergy);
603  ppmedium.Fill(sr.ppmedium);
604  pppz.Fill(sr.pppz);
605  ppv.Fill(sr.ppv);
606  ptype.Fill(sr.ptype);
607  runjob.Fill(sr.runjob);
608  tgen.Fill(sr.tgen);
609  tgptype.Fill(sr.tgptype);
610  tp.Fill(sr.tp);
611  tptype.Fill(sr.tptype);
612  tv.Fill(sr.tv);
613  v.Fill(sr.v);
614 }
615 
617 {
618  dk2gen.Clear();
619  dk2vtx.Clear();
620  gen2vtx.Clear();
621  mupare.Clear();
622  muparp.Clear();
623  ndecay.Clear();
624  necm.Clear();
625  nimpwt.Clear();
626  pdp.Clear();
627  potnum.Clear();
628  ppdxdz.Clear();
629  ppdydz.Clear();
630  ppenergy.Clear();
631  ppmedium.Clear();
632  pppz.Clear();
633  ppv.Clear();
634  ptype.Clear();
635  runjob.Clear();
636  tgen.Clear();
637  tgptype.Clear();
638  tp.Clear();
639  tptype.Clear();
640  tv.Clear();
641  v.Clear();
642 }
643 
645  p(tr, prefix+".p", totsize, policy),
646  pdg(tr, prefix+".pdg", totsize, policy),
647  primList(tr, prefix+".primList", totsize, policy),
648  status(tr, prefix+".status", totsize, policy)
649 {
650 }
651 
653 {
654  p.Fill(sr.p);
655  pdg.Fill(sr.pdg);
656  primList.Fill(sr.primList);
657  status.Fill(sr.status);
658 }
659 
661 {
662  p.Clear();
663  pdg.Clear();
664  primList.Clear();
665  status.Clear();
666 }
667 
668 flat::Flat<caf::SRTrueParticle>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
669  daughterEnergies(tr, prefix+".daughterEnergies", totsize, policy),
670  daughterVisE(tr, prefix+".daughterVisE", totsize, policy),
671  daughterVisEBirks(tr, prefix+".daughterVisEBirks", totsize, policy),
672  daughterVisEinslc(tr, prefix+".daughterVisEinslc", totsize, policy),
673  daughterVisEinslcBirks(tr, prefix+".daughterVisEinslcBirks", totsize, policy),
674  daughterlist(tr, prefix+".daughterlist", totsize, policy),
675  elasticProtonMaxVisE(tr, prefix+".elasticProtonMaxVisE", totsize, policy),
676  elasticProtonMaxVisEinslc(tr, prefix+".elasticProtonMaxVisEinslc", totsize, policy),
677  elasticProtonSumVisE(tr, prefix+".elasticProtonSumVisE", totsize, policy),
678  elasticProtonSumVisEinslc(tr, prefix+".elasticProtonSumVisEinslc", totsize, policy),
679  enteringE(tr, prefix+".enteringE", totsize, policy),
680  inelasticPhotonMaxVisE(tr, prefix+".inelasticPhotonMaxVisE", totsize, policy),
681  inelasticPhotonMaxVisEinslc(tr, prefix+".inelasticPhotonMaxVisEinslc", totsize, policy),
682  inelasticPhotonSumVisE(tr, prefix+".inelasticPhotonSumVisE", totsize, policy),
683  inelasticPhotonSumVisEinslc(tr, prefix+".inelasticPhotonSumVisEinslc", totsize, policy),
684  inelasticProtonMaxVisE(tr, prefix+".inelasticProtonMaxVisE", totsize, policy),
685  inelasticProtonMaxVisEinslc(tr, prefix+".inelasticProtonMaxVisEinslc", totsize, policy),
686  inelasticProtonSumVisE(tr, prefix+".inelasticProtonSumVisE", totsize, policy),
687  inelasticProtonSumVisEinslc(tr, prefix+".inelasticProtonSumVisEinslc", totsize, policy),
688  maxElasticProtonTrueE(tr, prefix+".maxElasticProtonTrueE", totsize, policy),
689  maxInelasticPhotonTrueE(tr, prefix+".maxInelasticPhotonTrueE", totsize, policy),
690  maxInelasticProtonTrueE(tr, prefix+".maxInelasticProtonTrueE", totsize, policy),
691  p(tr, prefix+".p", totsize, policy),
692  pdg(tr, prefix+".pdg", totsize, policy),
693  prefsiID(tr, prefix+".prefsiID", totsize, policy),
694  time(tr, prefix+".time", totsize, policy),
695  totEscE(tr, prefix+".totEscE", totsize, policy),
696  trkID(tr, prefix+".trkID", totsize, policy),
697  visE(tr, prefix+".visE", totsize, policy),
698  visEBirks(tr, prefix+".visEBirks", totsize, policy),
699  visEinslc(tr, prefix+".visEinslc", totsize, policy),
700  visEinslcBirks(tr, prefix+".visEinslcBirks", totsize, policy)
701 {
702 }
703 
705 {
706  daughterEnergies.Fill(sr.daughterEnergies);
707  daughterVisE.Fill(sr.daughterVisE);
708  daughterVisEBirks.Fill(sr.daughterVisEBirks);
709  daughterVisEinslc.Fill(sr.daughterVisEinslc);
710  daughterVisEinslcBirks.Fill(sr.daughterVisEinslcBirks);
711  daughterlist.Fill(sr.daughterlist);
712  elasticProtonMaxVisE.Fill(sr.elasticProtonMaxVisE);
713  elasticProtonMaxVisEinslc.Fill(sr.elasticProtonMaxVisEinslc);
714  elasticProtonSumVisE.Fill(sr.elasticProtonSumVisE);
715  elasticProtonSumVisEinslc.Fill(sr.elasticProtonSumVisEinslc);
716  enteringE.Fill(sr.enteringE);
717  inelasticPhotonMaxVisE.Fill(sr.inelasticPhotonMaxVisE);
718  inelasticPhotonMaxVisEinslc.Fill(sr.inelasticPhotonMaxVisEinslc);
719  inelasticPhotonSumVisE.Fill(sr.inelasticPhotonSumVisE);
720  inelasticPhotonSumVisEinslc.Fill(sr.inelasticPhotonSumVisEinslc);
721  inelasticProtonMaxVisE.Fill(sr.inelasticProtonMaxVisE);
722  inelasticProtonMaxVisEinslc.Fill(sr.inelasticProtonMaxVisEinslc);
723  inelasticProtonSumVisE.Fill(sr.inelasticProtonSumVisE);
724  inelasticProtonSumVisEinslc.Fill(sr.inelasticProtonSumVisEinslc);
725  maxElasticProtonTrueE.Fill(sr.maxElasticProtonTrueE);
726  maxInelasticPhotonTrueE.Fill(sr.maxInelasticPhotonTrueE);
727  maxInelasticProtonTrueE.Fill(sr.maxInelasticProtonTrueE);
728  p.Fill(sr.p);
729  pdg.Fill(sr.pdg);
730  prefsiID.Fill(sr.prefsiID);
731  time.Fill(sr.time);
732  totEscE.Fill(sr.totEscE);
733  trkID.Fill(sr.trkID);
734  visE.Fill(sr.visE);
735  visEBirks.Fill(sr.visEBirks);
736  visEinslc.Fill(sr.visEinslc);
737  visEinslcBirks.Fill(sr.visEinslcBirks);
738 }
739 
741 {
742  daughterEnergies.Clear();
743  daughterVisE.Clear();
744  daughterVisEBirks.Clear();
745  daughterVisEinslc.Clear();
746  daughterVisEinslcBirks.Clear();
747  daughterlist.Clear();
748  elasticProtonMaxVisE.Clear();
749  elasticProtonMaxVisEinslc.Clear();
750  elasticProtonSumVisE.Clear();
751  elasticProtonSumVisEinslc.Clear();
752  enteringE.Clear();
753  inelasticPhotonMaxVisE.Clear();
754  inelasticPhotonMaxVisEinslc.Clear();
755  inelasticPhotonSumVisE.Clear();
756  inelasticPhotonSumVisEinslc.Clear();
757  inelasticProtonMaxVisE.Clear();
758  inelasticProtonMaxVisEinslc.Clear();
759  inelasticProtonSumVisE.Clear();
760  inelasticProtonSumVisEinslc.Clear();
761  maxElasticProtonTrueE.Clear();
762  maxInelasticPhotonTrueE.Clear();
763  maxInelasticProtonTrueE.Clear();
764  p.Clear();
765  pdg.Clear();
766  prefsiID.Clear();
767  time.Clear();
768  totEscE.Clear();
769  trkID.Clear();
770  visE.Clear();
771  visEBirks.Clear();
772  visEinslc.Clear();
773  visEinslcBirks.Clear();
774 }
775 
777  npiminus_univ(tr, prefix+".npiminus_univ", totsize, policy),
778  npiplus_univ(tr, prefix+".npiplus_univ", totsize, policy),
779  nproton_univ(tr, prefix+".nproton_univ", totsize, policy),
780  piminus_cv(tr, prefix+".piminus_cv", totsize, policy),
781  piminus_univ(tr, prefix+".piminus_univ", totsize, policy),
782  piplus_cv(tr, prefix+".piplus_cv", totsize, policy),
783  piplus_univ(tr, prefix+".piplus_univ", totsize, policy),
784  proton_cv(tr, prefix+".proton_cv", totsize, policy),
785  proton_univ(tr, prefix+".proton_univ", totsize, policy)
786 {
787 }
788 
790 {
791  npiminus_univ.Fill(sr.npiminus_univ);
792  npiplus_univ.Fill(sr.npiplus_univ);
793  nproton_univ.Fill(sr.nproton_univ);
794  piminus_cv.Fill(sr.piminus_cv);
795  piminus_univ.Fill(sr.piminus_univ);
796  piplus_cv.Fill(sr.piplus_cv);
797  piplus_univ.Fill(sr.piplus_univ);
798  proton_cv.Fill(sr.proton_cv);
799  proton_univ.Fill(sr.proton_univ);
800 }
801 
803 {
804  npiminus_univ.Clear();
805  npiplus_univ.Clear();
806  nproton_univ.Clear();
807  piminus_cv.Clear();
808  piminus_univ.Clear();
809  piplus_cv.Clear();
810  piplus_univ.Clear();
811  proton_cv.Clear();
812  proton_univ.Clear();
813 }
814 
815 flat::Flat<caf::SRGenieWeights>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
816  minus1sigma(tr, prefix+".minus1sigma", totsize, policy),
817  minus2sigma(tr, prefix+".minus2sigma", totsize, policy),
818  plus1sigma(tr, prefix+".plus1sigma", totsize, policy),
819  plus2sigma(tr, prefix+".plus2sigma", totsize, policy)
820 {
821 }
822 
824 {
825  minus1sigma.Fill(sr.minus1sigma);
826  minus2sigma.Fill(sr.minus2sigma);
827  plus1sigma.Fill(sr.plus1sigma);
828  plus2sigma.Fill(sr.plus2sigma);
829 }
830 
832 {
833  minus1sigma.Clear();
834  minus2sigma.Clear();
835  plus1sigma.Clear();
836  plus2sigma.Clear();
837 }
838 
839 flat::Flat<caf::SRFluxWeights>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
840  cv(tr, prefix+".cv", totsize, policy),
841  nvuniv(tr, prefix+".nvuniv", totsize, policy),
842  vuniv(tr, prefix+".vuniv", totsize, policy)
843 {
844 }
845 
847 {
848  cv.Fill(sr.cv);
849  nvuniv.Fill(sr.nvuniv);
850  vuniv.Fill(sr.vuniv);
851 }
852 
854 {
855  cv.Clear();
856  nvuniv.Clear();
857  vuniv.Clear();
858 }
859 
860 flat::Flat<caf::SRMCReweight>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
861  geant4(tr, prefix+".geant4", totsize, policy),
862  genie(tr, prefix+".genie", totsize, policy),
863  ppfx(tr, prefix+".ppfx", totsize, policy)
864 {
865 }
866 
868 {
869  geant4.Fill(sr.geant4);
870  genie.Fill(sr.genie);
871  ppfx.Fill(sr.ppfx);
872 }
873 
875 {
876  geant4.Clear();
877  genie.Clear();
878  ppfx.Clear();
879 }
880 
881 flat::Flat<caf::SRNeutrino>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
882  E(tr, prefix+".E", totsize, policy),
883  L(tr, prefix+".L", totsize, policy),
884  W2(tr, prefix+".W2", totsize, policy),
885  beam(tr, prefix+".beam", totsize, policy),
886  cycle(tr, prefix+".cycle", totsize, policy),
887  det(tr, prefix+".det", totsize, policy),
888  eff(tr, prefix+".eff", totsize, policy),
889  evt(tr, prefix+".evt", totsize, policy),
890  genConfigString(tr, prefix+".genConfigString", totsize, policy),
891  genVersion(tr, prefix+".genVersion", totsize, policy),
892  generator(tr, prefix+".generator", totsize, policy),
893  genweight(tr, prefix+".genweight", totsize, policy),
894  hitnuc(tr, prefix+".hitnuc", totsize, policy),
895  hitnucp(tr, prefix+".hitnucp", totsize, policy),
896  inttype(tr, prefix+".inttype", totsize, policy),
897  is0HC(tr, prefix+".is0HC", totsize, policy),
898  isFHC(tr, prefix+".isFHC", totsize, policy),
899  isRHC(tr, prefix+".isRHC", totsize, policy),
900  iscc(tr, prefix+".iscc", totsize, policy),
901  ischarm(tr, prefix+".ischarm", totsize, policy),
902  isseaquark(tr, prefix+".isseaquark", totsize, policy),
903  isvtxcont(tr, prefix+".isvtxcont", totsize, policy),
904  michel(tr, prefix+".michel", totsize, policy),
905  mode(tr, prefix+".mode", totsize, policy),
906  nhitslc(tr, prefix+".nhitslc", totsize, policy),
907  nhittot(tr, prefix+".nhittot", totsize, policy),
908  nneutron(tr, prefix+".nneutron", totsize, policy),
909  npiminus(tr, prefix+".npiminus", totsize, policy),
910  npiplus(tr, prefix+".npiplus", totsize, policy),
911  npizero(tr, prefix+".npizero", totsize, policy),
912  nproton(tr, prefix+".nproton", totsize, policy),
913  p(tr, prefix+".p", totsize, policy),
914  pdg(tr, prefix+".pdg", totsize, policy),
915  pdgorig(tr, prefix+".pdgorig", totsize, policy),
916  prefsi(tr, prefix+".prefsi", totsize, policy),
917  prim(tr, prefix+".prim", totsize, policy),
918  pur(tr, prefix+".pur", totsize, policy),
919  q2(tr, prefix+".q2", totsize, policy),
920  resnum(tr, prefix+".resnum", totsize, policy),
921  run(tr, prefix+".run", totsize, policy),
922  rwgt(tr, prefix+".rwgt", totsize, policy),
923  subrun(tr, prefix+".subrun", totsize, policy),
924  tgtA(tr, prefix+".tgtA", totsize, policy),
925  tgtZ(tr, prefix+".tgtZ", totsize, policy),
926  time(tr, prefix+".time", totsize, policy),
927  visE(tr, prefix+".visE", totsize, policy),
928  visEBirks(tr, prefix+".visEBirks", totsize, policy),
929  visENeutron(tr, prefix+".visENeutron", totsize, policy),
930  visENeutronBirks(tr, prefix+".visENeutronBirks", totsize, policy),
931  visEinslc(tr, prefix+".visEinslc", totsize, policy),
932  visEinslcBirks(tr, prefix+".visEinslcBirks", totsize, policy),
933  visEinslcNeutron(tr, prefix+".visEinslcNeutron", totsize, policy),
934  visEinslcNeutronBirks(tr, prefix+".visEinslcNeutronBirks", totsize, policy),
935  vtx(tr, prefix+".vtx", totsize, policy),
936  woscdumb(tr, prefix+".woscdumb", totsize, policy),
937  x(tr, prefix+".x", totsize, policy),
938  xsec(tr, prefix+".xsec", totsize, policy),
939  y(tr, prefix+".y", totsize, policy)
940 {
941 }
942 
944 {
945  E.Fill(sr.E);
946  L.Fill(sr.L);
947  W2.Fill(sr.W2);
948  beam.Fill(sr.beam);
949  cycle.Fill(sr.cycle);
950  det.Fill(sr.det);
951  eff.Fill(sr.eff);
952  evt.Fill(sr.evt);
953  genConfigString.Fill(sr.genConfigString);
954  genVersion.Fill(sr.genVersion);
955  generator.Fill(sr.generator);
956  genweight.Fill(sr.genweight);
957  hitnuc.Fill(sr.hitnuc);
958  hitnucp.Fill(sr.hitnucp);
959  inttype.Fill(sr.inttype);
960  is0HC.Fill(sr.is0HC);
961  isFHC.Fill(sr.isFHC);
962  isRHC.Fill(sr.isRHC);
963  iscc.Fill(sr.iscc);
964  ischarm.Fill(sr.ischarm);
965  isseaquark.Fill(sr.isseaquark);
966  isvtxcont.Fill(sr.isvtxcont);
967  michel.Fill(sr.michel);
968  mode.Fill(sr.mode);
969  nhitslc.Fill(sr.nhitslc);
970  nhittot.Fill(sr.nhittot);
971  nneutron.Fill(sr.nneutron);
972  npiminus.Fill(sr.npiminus);
973  npiplus.Fill(sr.npiplus);
974  npizero.Fill(sr.npizero);
975  nproton.Fill(sr.nproton);
976  p.Fill(sr.p);
977  pdg.Fill(sr.pdg);
978  pdgorig.Fill(sr.pdgorig);
979  prefsi.Fill(sr.prefsi);
980  prim.Fill(sr.prim);
981  pur.Fill(sr.pur);
982  q2.Fill(sr.q2);
983  resnum.Fill(sr.resnum);
984  run.Fill(sr.run);
985  rwgt.Fill(sr.rwgt);
986  subrun.Fill(sr.subrun);
987  tgtA.Fill(sr.tgtA);
988  tgtZ.Fill(sr.tgtZ);
989  time.Fill(sr.time);
990  visE.Fill(sr.visE);
991  visEBirks.Fill(sr.visEBirks);
992  visENeutron.Fill(sr.visENeutron);
993  visENeutronBirks.Fill(sr.visENeutronBirks);
994  visEinslc.Fill(sr.visEinslc);
995  visEinslcBirks.Fill(sr.visEinslcBirks);
996  visEinslcNeutron.Fill(sr.visEinslcNeutron);
997  visEinslcNeutronBirks.Fill(sr.visEinslcNeutronBirks);
998  vtx.Fill(sr.vtx);
999  woscdumb.Fill(sr.woscdumb);
1000  x.Fill(sr.x);
1001  xsec.Fill(sr.xsec);
1002  y.Fill(sr.y);
1003 }
1004 
1006 {
1007  E.Clear();
1008  L.Clear();
1009  W2.Clear();
1010  beam.Clear();
1011  cycle.Clear();
1012  det.Clear();
1013  eff.Clear();
1014  evt.Clear();
1015  genConfigString.Clear();
1016  genVersion.Clear();
1017  generator.Clear();
1018  genweight.Clear();
1019  hitnuc.Clear();
1020  hitnucp.Clear();
1021  inttype.Clear();
1022  is0HC.Clear();
1023  isFHC.Clear();
1024  isRHC.Clear();
1025  iscc.Clear();
1026  ischarm.Clear();
1027  isseaquark.Clear();
1028  isvtxcont.Clear();
1029  michel.Clear();
1030  mode.Clear();
1031  nhitslc.Clear();
1032  nhittot.Clear();
1033  nneutron.Clear();
1034  npiminus.Clear();
1035  npiplus.Clear();
1036  npizero.Clear();
1037  nproton.Clear();
1038  p.Clear();
1039  pdg.Clear();
1040  pdgorig.Clear();
1041  prefsi.Clear();
1042  prim.Clear();
1043  pur.Clear();
1044  q2.Clear();
1045  resnum.Clear();
1046  run.Clear();
1047  rwgt.Clear();
1048  subrun.Clear();
1049  tgtA.Clear();
1050  tgtZ.Clear();
1051  time.Clear();
1052  visE.Clear();
1053  visEBirks.Clear();
1054  visENeutron.Clear();
1055  visENeutronBirks.Clear();
1056  visEinslc.Clear();
1057  visEinslcBirks.Clear();
1058  visEinslcNeutron.Clear();
1059  visEinslcNeutronBirks.Clear();
1060  vtx.Clear();
1061  woscdumb.Clear();
1062  x.Clear();
1063  xsec.Clear();
1064  y.Clear();
1065 }
1066 
1067 flat::Flat<caf::SRGlobalTruth>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1068  nnu(tr, prefix+".nnu", totsize, policy)
1069 {
1070 }
1071 
1073 {
1074  nnu.Fill(sr.nnu);
1075 }
1076 
1078 {
1079  nnu.Clear();
1080 }
1081 
1082 flat::Flat<caf::SRTruthBranch>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1083  allcosmics(tr, prefix+".allcosmics", totsize, policy),
1084  allnus(tr, prefix+".allnus", totsize, policy),
1085  cosmic(tr, prefix+".cosmic", totsize, policy),
1086  faveidxeff(tr, prefix+".faveidxeff", totsize, policy),
1087  faveidxeffpur(tr, prefix+".faveidxeffpur", totsize, policy),
1088  faveidxeffthenpur(tr, prefix+".faveidxeffthenpur", totsize, policy),
1089  faveidxenergy(tr, prefix+".faveidxenergy", totsize, policy),
1090  faveidxpur(tr, prefix+".faveidxpur", totsize, policy),
1091  global(tr, prefix+".global", totsize, policy),
1092  nallcosmics(tr, prefix+".nallcosmics", totsize, policy),
1093  nallnus(tr, prefix+".nallnus", totsize, policy),
1094  ncosmic(tr, prefix+".ncosmic", totsize, policy),
1095  nnu(tr, prefix+".nnu", totsize, policy),
1096  nu(tr, prefix+".nu", totsize, policy)
1097 {
1098 }
1099 
1101 {
1102  allcosmics.Fill(sr.allcosmics);
1103  allnus.Fill(sr.allnus);
1104  cosmic.Fill(sr.cosmic);
1105  faveidxeff.Fill(sr.faveidxeff);
1106  faveidxeffpur.Fill(sr.faveidxeffpur);
1107  faveidxeffthenpur.Fill(sr.faveidxeffthenpur);
1108  faveidxenergy.Fill(sr.faveidxenergy);
1109  faveidxpur.Fill(sr.faveidxpur);
1110  global.Fill(sr.global);
1111  nallcosmics.Fill(sr.nallcosmics);
1112  nallnus.Fill(sr.nallnus);
1113  ncosmic.Fill(sr.ncosmic);
1114  nnu.Fill(sr.nnu);
1115  nu.Fill(sr.nu);
1116 }
1117 
1119 {
1120  allcosmics.Clear();
1121  allnus.Clear();
1122  cosmic.Clear();
1123  faveidxeff.Clear();
1124  faveidxeffpur.Clear();
1125  faveidxeffthenpur.Clear();
1126  faveidxenergy.Clear();
1127  faveidxpur.Clear();
1128  global.Clear();
1129  nallcosmics.Clear();
1130  nallnus.Clear();
1131  ncosmic.Clear();
1132  nnu.Clear();
1133  nu.Clear();
1134 }
1135 
1137  daughterVisE(tr, prefix+".daughterVisE", totsize, policy),
1138  daughterVisEBirks(tr, prefix+".daughterVisEBirks", totsize, policy),
1139  daughterVisEinslc(tr, prefix+".daughterVisEinslc", totsize, policy),
1140  daughterVisEinslcBirks(tr, prefix+".daughterVisEinslcBirks", totsize, policy),
1141  daughterVisEnergies(tr, prefix+".daughterVisEnergies", totsize, policy),
1142  daughterlist(tr, prefix+".daughterlist", totsize, policy),
1143  eff(tr, prefix+".eff", totsize, policy),
1144  motherlist(tr, prefix+".motherlist", totsize, policy),
1145  motherp(tr, prefix+".motherp", totsize, policy),
1146  motherpdg(tr, prefix+".motherpdg", totsize, policy),
1147  p(tr, prefix+".p", totsize, policy),
1148  pdg(tr, prefix+".pdg", totsize, policy),
1149  primNeutronE(tr, prefix+".primNeutronE", totsize, policy),
1150  primNeutronProcessE(tr, prefix+".primNeutronProcessE", totsize, policy),
1151  processMax(tr, prefix+".processMax", totsize, policy),
1152  processParticleE(tr, prefix+".processParticleE", totsize, policy),
1153  pur(tr, prefix+".pur", totsize, policy),
1154  start(tr, prefix+".start", totsize, policy),
1155  trkID(tr, prefix+".trkID", totsize, policy),
1156  visE(tr, prefix+".visE", totsize, policy),
1157  visEBirks(tr, prefix+".visEBirks", totsize, policy),
1158  visEinslc(tr, prefix+".visEinslc", totsize, policy),
1159  visEinslcBirks(tr, prefix+".visEinslcBirks", totsize, policy)
1160 {
1161 }
1162 
1164 {
1165  daughterVisE.Fill(sr.daughterVisE);
1166  daughterVisEBirks.Fill(sr.daughterVisEBirks);
1167  daughterVisEinslc.Fill(sr.daughterVisEinslc);
1168  daughterVisEinslcBirks.Fill(sr.daughterVisEinslcBirks);
1169  daughterVisEnergies.Fill(sr.daughterVisEnergies);
1170  daughterlist.Fill(sr.daughterlist);
1171  eff.Fill(sr.eff);
1172  motherlist.Fill(sr.motherlist);
1173  motherp.Fill(sr.motherp);
1174  motherpdg.Fill(sr.motherpdg);
1175  p.Fill(sr.p);
1176  pdg.Fill(sr.pdg);
1177  primNeutronE.Fill(sr.primNeutronE);
1178  primNeutronProcessE.Fill(sr.primNeutronProcessE);
1179  processMax.Fill(sr.processMax);
1180  processParticleE.Fill(sr.processParticleE);
1181  pur.Fill(sr.pur);
1182  start.Fill(sr.start);
1183  trkID.Fill(sr.trkID);
1184  visE.Fill(sr.visE);
1185  visEBirks.Fill(sr.visEBirks);
1186  visEinslc.Fill(sr.visEinslc);
1187  visEinslcBirks.Fill(sr.visEinslcBirks);
1188 }
1189 
1191 {
1192  daughterVisE.Clear();
1193  daughterVisEBirks.Clear();
1194  daughterVisEinslc.Clear();
1195  daughterVisEinslcBirks.Clear();
1196  daughterVisEnergies.Clear();
1197  daughterlist.Clear();
1198  eff.Clear();
1199  motherlist.Clear();
1200  motherp.Clear();
1201  motherpdg.Clear();
1202  p.Clear();
1203  pdg.Clear();
1204  primNeutronE.Clear();
1205  primNeutronProcessE.Clear();
1206  processMax.Clear();
1207  processParticleE.Clear();
1208  pur.Clear();
1209  start.Clear();
1210  trkID.Clear();
1211  visE.Clear();
1212  visEBirks.Clear();
1213  visEinslc.Clear();
1214  visEinslcBirks.Clear();
1215 }
1216 
1217 flat::Flat<caf::SRSlcME>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1218  adc(tr, prefix+".adc", totsize, policy),
1219  calE(tr, prefix+".calE", totsize, policy),
1220  deltat(tr, prefix+".deltat", totsize, policy),
1221  disttoslc(tr, prefix+".disttoslc", totsize, policy),
1222  meanpos(tr, prefix+".meanpos", totsize, policy),
1223  mid(tr, prefix+".mid", totsize, policy),
1224  nhitx(tr, prefix+".nhitx", totsize, policy),
1225  nhity(tr, prefix+".nhity", totsize, policy),
1226  truth(tr, prefix+".truth", totsize, policy)
1227 {
1228 }
1229 
1231 {
1232  adc.Fill(sr.adc);
1233  calE.Fill(sr.calE);
1234  deltat.Fill(sr.deltat);
1235  disttoslc.Fill(sr.disttoslc);
1236  meanpos.Fill(sr.meanpos);
1237  mid.Fill(sr.mid);
1238  nhitx.Fill(sr.nhitx);
1239  nhity.Fill(sr.nhity);
1240  truth.Fill(sr.truth);
1241 }
1242 
1244 {
1245  adc.Clear();
1246  calE.Clear();
1247  deltat.Clear();
1248  disttoslc.Clear();
1249  meanpos.Clear();
1250  mid.Clear();
1251  nhitx.Clear();
1252  nhity.Clear();
1253  truth.Clear();
1254 }
1255 
1256 flat::Flat<caf::SRTrkME>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1257  adc(tr, prefix+".adc", totsize, policy),
1258  calE(tr, prefix+".calE", totsize, policy),
1259  deltat(tr, prefix+".deltat", totsize, policy),
1260  disttotrack(tr, prefix+".disttotrack", totsize, policy),
1261  meanpos(tr, prefix+".meanpos", totsize, policy),
1262  mid(tr, prefix+".mid", totsize, policy),
1263  nhitx(tr, prefix+".nhitx", totsize, policy),
1264  nhity(tr, prefix+".nhity", totsize, policy),
1265  truth(tr, prefix+".truth", totsize, policy)
1266 {
1267 }
1268 
1270 {
1271  adc.Fill(sr.adc);
1272  calE.Fill(sr.calE);
1273  deltat.Fill(sr.deltat);
1274  disttotrack.Fill(sr.disttotrack);
1275  meanpos.Fill(sr.meanpos);
1276  mid.Fill(sr.mid);
1277  nhitx.Fill(sr.nhitx);
1278  nhity.Fill(sr.nhity);
1279  truth.Fill(sr.truth);
1280 }
1281 
1283 {
1284  adc.Clear();
1285  calE.Clear();
1286  deltat.Clear();
1287  disttotrack.Clear();
1288  meanpos.Clear();
1289  mid.Clear();
1290  nhitx.Clear();
1291  nhity.Clear();
1292  truth.Clear();
1293 }
1294 
1295 flat::Flat<caf::SRMichelE>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1296  nbpf(tr, prefix+".nbpf", totsize, policy),
1297  ncosmic(tr, prefix+".ncosmic", totsize, policy),
1298  ndiscrete(tr, prefix+".ndiscrete", totsize, policy),
1299  nkalman(tr, prefix+".nkalman", totsize, policy),
1300  nslc(tr, prefix+".nslc", totsize, policy),
1301  slc(tr, prefix+".slc", totsize, policy),
1302  trkbpf(tr, prefix+".trkbpf", totsize, policy),
1303  trkcosmic(tr, prefix+".trkcosmic", totsize, policy),
1304  trkdiscrete(tr, prefix+".trkdiscrete", totsize, policy),
1305  trkkalman(tr, prefix+".trkkalman", totsize, policy)
1306 {
1307 }
1308 
1310 {
1311  nbpf.Fill(sr.nbpf);
1312  ncosmic.Fill(sr.ncosmic);
1313  ndiscrete.Fill(sr.ndiscrete);
1314  nkalman.Fill(sr.nkalman);
1315  nslc.Fill(sr.nslc);
1316  slc.Fill(sr.slc);
1317  trkbpf.Fill(sr.trkbpf);
1318  trkcosmic.Fill(sr.trkcosmic);
1319  trkdiscrete.Fill(sr.trkdiscrete);
1320  trkkalman.Fill(sr.trkkalman);
1321 }
1322 
1324 {
1325  nbpf.Clear();
1326  ncosmic.Clear();
1327  ndiscrete.Clear();
1328  nkalman.Clear();
1329  nslc.Clear();
1330  slc.Clear();
1331  trkbpf.Clear();
1332  trkcosmic.Clear();
1333  trkdiscrete.Clear();
1334  trkkalman.Clear();
1335 }
1336 
1337 flat::Flat<caf::SRMRCCParent>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1338  contplanes(tr, prefix+".contplanes", totsize, policy),
1339  cvnm(tr, prefix+".cvnm", totsize, policy),
1340  eff(tr, prefix+".eff", totsize, policy),
1341  firstplane(tr, prefix+".firstplane", totsize, policy),
1342  hadEinmucat(tr, prefix+".hadEinmucat", totsize, policy),
1343  lastplane(tr, prefix+".lastplane", totsize, policy),
1344  muE(tr, prefix+".muE", totsize, policy),
1345  muonbkcell(tr, prefix+".muonbkcell", totsize, policy),
1346  muonfwdcell(tr, prefix+".muonfwdcell", totsize, policy),
1347  muonstart(tr, prefix+".muonstart", totsize, policy),
1348  muonstop(tr, prefix+".muonstop", totsize, policy),
1349  muonyattrans(tr, prefix+".muonyattrans", totsize, policy),
1350  ncellsfromedge(tr, prefix+".ncellsfromedge", totsize, policy),
1351  nhit(tr, prefix+".nhit", totsize, policy),
1352  numuE(tr, prefix+".numuE", totsize, policy),
1353  pur(tr, prefix+".pur", totsize, policy),
1354  remid(tr, prefix+".remid", totsize, policy),
1355  slcidx(tr, prefix+".slcidx", totsize, policy)
1356 {
1357 }
1358 
1360 {
1361  contplanes.Fill(sr.contplanes);
1362  cvnm.Fill(sr.cvnm);
1363  eff.Fill(sr.eff);
1364  firstplane.Fill(sr.firstplane);
1365  hadEinmucat.Fill(sr.hadEinmucat);
1366  lastplane.Fill(sr.lastplane);
1367  muE.Fill(sr.muE);
1368  muonbkcell.Fill(sr.muonbkcell);
1369  muonfwdcell.Fill(sr.muonfwdcell);
1370  muonstart.Fill(sr.muonstart);
1371  muonstop.Fill(sr.muonstop);
1372  muonyattrans.Fill(sr.muonyattrans);
1373  ncellsfromedge.Fill(sr.ncellsfromedge);
1374  nhit.Fill(sr.nhit);
1375  numuE.Fill(sr.numuE);
1376  pur.Fill(sr.pur);
1377  remid.Fill(sr.remid);
1378  slcidx.Fill(sr.slcidx);
1379 }
1380 
1382 {
1383  contplanes.Clear();
1384  cvnm.Clear();
1385  eff.Clear();
1386  firstplane.Clear();
1387  hadEinmucat.Clear();
1388  lastplane.Clear();
1389  muE.Clear();
1390  muonbkcell.Clear();
1391  muonfwdcell.Clear();
1392  muonstart.Clear();
1393  muonstop.Clear();
1394  muonyattrans.Clear();
1395  ncellsfromedge.Clear();
1396  nhit.Clear();
1397  numuE.Clear();
1398  pur.Clear();
1399  remid.Clear();
1400  slcidx.Clear();
1401 }
1402 
1404  mrccpar(tr, prefix+".mrccpar", totsize, policy)
1405 {
1406 }
1407 
1409 {
1410  mrccpar.Fill(sr.mrccpar);
1411 }
1412 
1414 {
1415  mrccpar.Clear();
1416 }
1417 
1418 flat::Flat<caf::SRBpfId>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1419  bestBpfIdx(tr, prefix+".bestBpfIdx", totsize, policy),
1420  bestPngIdx(tr, prefix+".bestPngIdx", totsize, policy),
1421  bestVtxIdx(tr, prefix+".bestVtxIdx", totsize, policy),
1422  chi2T(tr, prefix+".chi2T", totsize, policy),
1423  dEdXLL(tr, prefix+".dEdXLL", totsize, policy),
1424  energy(tr, prefix+".energy", totsize, policy),
1425  hitRatio(tr, prefix+".hitRatio", totsize, policy),
1426  len(tr, prefix+".len", totsize, policy),
1427  momentum(tr, prefix+".momentum", totsize, policy),
1428  pdg(tr, prefix+".pdg", totsize, policy),
1429  pid(tr, prefix+".pid", totsize, policy)
1430 {
1431 }
1432 
1434 {
1435  bestBpfIdx.Fill(sr.bestBpfIdx);
1436  bestPngIdx.Fill(sr.bestPngIdx);
1437  bestVtxIdx.Fill(sr.bestVtxIdx);
1438  chi2T.Fill(sr.chi2T);
1439  dEdXLL.Fill(sr.dEdXLL);
1440  energy.Fill(sr.energy);
1441  hitRatio.Fill(sr.hitRatio);
1442  len.Fill(sr.len);
1443  momentum.Fill(sr.momentum);
1444  pdg.Fill(sr.pdg);
1445  pid.Fill(sr.pid);
1446 }
1447 
1449 {
1450  bestBpfIdx.Clear();
1451  bestPngIdx.Clear();
1452  bestVtxIdx.Clear();
1453  chi2T.Clear();
1454  dEdXLL.Clear();
1455  energy.Clear();
1456  hitRatio.Clear();
1457  len.Clear();
1458  momentum.Clear();
1459  pdg.Clear();
1460  pid.Clear();
1461 }
1462 
1463 flat::Flat<caf::SRContain>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1464  cosbakair(tr, prefix+".cosbakair", totsize, policy),
1465  cosbakcell(tr, prefix+".cosbakcell", totsize, policy),
1466  cosbakcellnd(tr, prefix+".cosbakcellnd", totsize, policy),
1467  cosbakdist(tr, prefix+".cosbakdist", totsize, policy),
1468  cosbaksteel(tr, prefix+".cosbaksteel", totsize, policy),
1469  cosfwdair(tr, prefix+".cosfwdair", totsize, policy),
1470  cosfwdcell(tr, prefix+".cosfwdcell", totsize, policy),
1471  cosfwdcellnd(tr, prefix+".cosfwdcellnd", totsize, policy),
1472  cosfwddist(tr, prefix+".cosfwddist", totsize, policy),
1473  cosfwdsteel(tr, prefix+".cosfwdsteel", totsize, policy),
1474  cosyposattrans(tr, prefix+".cosyposattrans", totsize, policy),
1475  enddist(tr, prefix+".enddist", totsize, policy),
1476  kalbakair(tr, prefix+".kalbakair", totsize, policy),
1477  kalbakcell(tr, prefix+".kalbakcell", totsize, policy),
1478  kalbakcellnd(tr, prefix+".kalbakcellnd", totsize, policy),
1479  kalbakdist(tr, prefix+".kalbakdist", totsize, policy),
1480  kalbaksteel(tr, prefix+".kalbaksteel", totsize, policy),
1481  kalfwdair(tr, prefix+".kalfwdair", totsize, policy),
1482  kalfwdcell(tr, prefix+".kalfwdcell", totsize, policy),
1483  kalfwdcellnd(tr, prefix+".kalfwdcellnd", totsize, policy),
1484  kalfwddist(tr, prefix+".kalfwddist", totsize, policy),
1485  kalfwdsteel(tr, prefix+".kalfwdsteel", totsize, policy),
1486  kalyposattrans(tr, prefix+".kalyposattrans", totsize, policy),
1487  missE(tr, prefix+".missE", totsize, policy),
1488  nplanestoback(tr, prefix+".nplanestoback", totsize, policy),
1489  nplanestofront(tr, prefix+".nplanestofront", totsize, policy),
1490  numucontain(tr, prefix+".numucontain", totsize, policy),
1491  numucontainSA(tr, prefix+".numucontainSA", totsize, policy),
1492  vtxdist(tr, prefix+".vtxdist", totsize, policy),
1493  xmax2(tr, prefix+".xmax2", totsize, policy),
1494  xmaxt(tr, prefix+".xmaxt", totsize, policy),
1495  xmin2(tr, prefix+".xmin2", totsize, policy),
1496  xmint(tr, prefix+".xmint", totsize, policy),
1497  ymax2(tr, prefix+".ymax2", totsize, policy),
1498  ymaxt(tr, prefix+".ymaxt", totsize, policy),
1499  ymin2(tr, prefix+".ymin2", totsize, policy),
1500  ymint(tr, prefix+".ymint", totsize, policy),
1501  zmax2(tr, prefix+".zmax2", totsize, policy),
1502  zmaxt(tr, prefix+".zmaxt", totsize, policy),
1503  zmin2(tr, prefix+".zmin2", totsize, policy),
1504  zmint(tr, prefix+".zmint", totsize, policy)
1505 {
1506 }
1507 
1509 {
1510  cosbakair.Fill(sr.cosbakair);
1511  cosbakcell.Fill(sr.cosbakcell);
1512  cosbakcellnd.Fill(sr.cosbakcellnd);
1513  cosbakdist.Fill(sr.cosbakdist);
1514  cosbaksteel.Fill(sr.cosbaksteel);
1515  cosfwdair.Fill(sr.cosfwdair);
1516  cosfwdcell.Fill(sr.cosfwdcell);
1517  cosfwdcellnd.Fill(sr.cosfwdcellnd);
1518  cosfwddist.Fill(sr.cosfwddist);
1519  cosfwdsteel.Fill(sr.cosfwdsteel);
1520  cosyposattrans.Fill(sr.cosyposattrans);
1521  enddist.Fill(sr.enddist);
1522  kalbakair.Fill(sr.kalbakair);
1523  kalbakcell.Fill(sr.kalbakcell);
1524  kalbakcellnd.Fill(sr.kalbakcellnd);
1525  kalbakdist.Fill(sr.kalbakdist);
1526  kalbaksteel.Fill(sr.kalbaksteel);
1527  kalfwdair.Fill(sr.kalfwdair);
1528  kalfwdcell.Fill(sr.kalfwdcell);
1529  kalfwdcellnd.Fill(sr.kalfwdcellnd);
1530  kalfwddist.Fill(sr.kalfwddist);
1531  kalfwdsteel.Fill(sr.kalfwdsteel);
1532  kalyposattrans.Fill(sr.kalyposattrans);
1533  missE.Fill(sr.missE);
1534  nplanestoback.Fill(sr.nplanestoback);
1535  nplanestofront.Fill(sr.nplanestofront);
1536  numucontain.Fill(sr.numucontain);
1537  numucontainSA.Fill(sr.numucontainSA);
1538  vtxdist.Fill(sr.vtxdist);
1539  xmax2.Fill(sr.xmax2);
1540  xmaxt.Fill(sr.xmaxt);
1541  xmin2.Fill(sr.xmin2);
1542  xmint.Fill(sr.xmint);
1543  ymax2.Fill(sr.ymax2);
1544  ymaxt.Fill(sr.ymaxt);
1545  ymin2.Fill(sr.ymin2);
1546  ymint.Fill(sr.ymint);
1547  zmax2.Fill(sr.zmax2);
1548  zmaxt.Fill(sr.zmaxt);
1549  zmin2.Fill(sr.zmin2);
1550  zmint.Fill(sr.zmint);
1551 }
1552 
1554 {
1555  cosbakair.Clear();
1556  cosbakcell.Clear();
1557  cosbakcellnd.Clear();
1558  cosbakdist.Clear();
1559  cosbaksteel.Clear();
1560  cosfwdair.Clear();
1561  cosfwdcell.Clear();
1562  cosfwdcellnd.Clear();
1563  cosfwddist.Clear();
1564  cosfwdsteel.Clear();
1565  cosyposattrans.Clear();
1566  enddist.Clear();
1567  kalbakair.Clear();
1568  kalbakcell.Clear();
1569  kalbakcellnd.Clear();
1570  kalbakdist.Clear();
1571  kalbaksteel.Clear();
1572  kalfwdair.Clear();
1573  kalfwdcell.Clear();
1574  kalfwdcellnd.Clear();
1575  kalfwddist.Clear();
1576  kalfwdsteel.Clear();
1577  kalyposattrans.Clear();
1578  missE.Clear();
1579  nplanestoback.Clear();
1580  nplanestofront.Clear();
1581  numucontain.Clear();
1582  numucontainSA.Clear();
1583  vtxdist.Clear();
1584  xmax2.Clear();
1585  xmaxt.Clear();
1586  xmin2.Clear();
1587  xmint.Clear();
1588  ymax2.Clear();
1589  ymaxt.Clear();
1590  ymin2.Clear();
1591  ymint.Clear();
1592  zmax2.Clear();
1593  zmaxt.Clear();
1594  zmin2.Clear();
1595  zmint.Clear();
1596 }
1597 
1598 flat::Flat<caf::SRCosRej>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1599  anglecos(tr, prefix+".anglecos", totsize, policy),
1600  anglekal(tr, prefix+".anglekal", totsize, policy),
1601  cdirscore(tr, prefix+".cdirscore", totsize, policy),
1602  cfitspeed(tr, prefix+".cfitspeed", totsize, policy),
1603  coschidiff(tr, prefix+".coschidiff", totsize, policy),
1604  coschisq(tr, prefix+".coschisq", totsize, policy),
1605  cosslope(tr, prefix+".cosslope", totsize, policy),
1606  costhetatrue(tr, prefix+".costhetatrue", totsize, policy),
1607  cscorediff(tr, prefix+".cscorediff", totsize, policy),
1608  eratio(tr, prefix+".eratio", totsize, policy),
1609  fscattext(tr, prefix+".fscattext", totsize, policy),
1610  fscattmax(tr, prefix+".fscattmax", totsize, policy),
1611  fscattsig(tr, prefix+".fscattsig", totsize, policy),
1612  fscattsum(tr, prefix+".fscattsum", totsize, policy),
1613  hadE(tr, prefix+".hadE", totsize, policy),
1614  kalchidiff(tr, prefix+".kalchidiff", totsize, policy),
1615  kalchisq(tr, prefix+".kalchisq", totsize, policy),
1616  kalslope(tr, prefix+".kalslope", totsize, policy),
1617  kalthetatrue(tr, prefix+".kalthetatrue", totsize, policy),
1618  kdirscore(tr, prefix+".kdirscore", totsize, policy),
1619  kfitspeed(tr, prefix+".kfitspeed", totsize, policy),
1620  kscorediff(tr, prefix+".kscorediff", totsize, policy),
1621  mincell(tr, prefix+".mincell", totsize, policy),
1622  mindist(tr, prefix+".mindist", totsize, policy),
1623  nkal3d(tr, prefix+".nkal3d", totsize, policy),
1624  numucontpid2019(tr, prefix+".numucontpid2019", totsize, policy),
1625  numucontpid2020(tr, prefix+".numucontpid2020", totsize, policy),
1626  numuunconttunedpid(tr, prefix+".numuunconttunedpid", totsize, policy),
1627  pdgbest(tr, prefix+".pdgbest", totsize, policy),
1628  scatt(tr, prefix+".scatt", totsize, policy)
1629 {
1630 }
1631 
1633 {
1634  anglecos.Fill(sr.anglecos);
1635  anglekal.Fill(sr.anglekal);
1636  cdirscore.Fill(sr.cdirscore);
1637  cfitspeed.Fill(sr.cfitspeed);
1638  coschidiff.Fill(sr.coschidiff);
1639  coschisq.Fill(sr.coschisq);
1640  cosslope.Fill(sr.cosslope);
1641  costhetatrue.Fill(sr.costhetatrue);
1642  cscorediff.Fill(sr.cscorediff);
1643  eratio.Fill(sr.eratio);
1644  fscattext.Fill(sr.fscattext);
1645  fscattmax.Fill(sr.fscattmax);
1646  fscattsig.Fill(sr.fscattsig);
1647  fscattsum.Fill(sr.fscattsum);
1648  hadE.Fill(sr.hadE);
1649  kalchidiff.Fill(sr.kalchidiff);
1650  kalchisq.Fill(sr.kalchisq);
1651  kalslope.Fill(sr.kalslope);
1652  kalthetatrue.Fill(sr.kalthetatrue);
1653  kdirscore.Fill(sr.kdirscore);
1654  kfitspeed.Fill(sr.kfitspeed);
1655  kscorediff.Fill(sr.kscorediff);
1656  mincell.Fill(sr.mincell);
1657  mindist.Fill(sr.mindist);
1658  nkal3d.Fill(sr.nkal3d);
1659  numucontpid2019.Fill(sr.numucontpid2019);
1660  numucontpid2020.Fill(sr.numucontpid2020);
1661  numuunconttunedpid.Fill(sr.numuunconttunedpid);
1662  pdgbest.Fill(sr.pdgbest);
1663  scatt.Fill(sr.scatt);
1664 }
1665 
1667 {
1668  anglecos.Clear();
1669  anglekal.Clear();
1670  cdirscore.Clear();
1671  cfitspeed.Clear();
1672  coschidiff.Clear();
1673  coschisq.Clear();
1674  cosslope.Clear();
1675  costhetatrue.Clear();
1676  cscorediff.Clear();
1677  eratio.Clear();
1678  fscattext.Clear();
1679  fscattmax.Clear();
1680  fscattsig.Clear();
1681  fscattsum.Clear();
1682  hadE.Clear();
1683  kalchidiff.Clear();
1684  kalchisq.Clear();
1685  kalslope.Clear();
1686  kalthetatrue.Clear();
1687  kdirscore.Clear();
1688  kfitspeed.Clear();
1689  kscorediff.Clear();
1690  mincell.Clear();
1691  mindist.Clear();
1692  nkal3d.Clear();
1693  numucontpid2019.Clear();
1694  numucontpid2020.Clear();
1695  numuunconttunedpid.Clear();
1696  pdgbest.Clear();
1697  scatt.Clear();
1698 }
1699 
1700 flat::Flat<caf::SRCVNResult>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1701  argmax(tr, prefix+".argmax", totsize, policy),
1702  cosmicid(tr, prefix+".cosmicid", totsize, policy),
1703  maxval(tr, prefix+".maxval", totsize, policy),
1704  ncid(tr, prefix+".ncid", totsize, policy),
1705  noutput(tr, prefix+".noutput", totsize, policy),
1706  nueid(tr, prefix+".nueid", totsize, policy),
1707  numuid(tr, prefix+".numuid", totsize, policy),
1708  nutauid(tr, prefix+".nutauid", totsize, policy),
1709  output(tr, prefix+".output", totsize, policy)
1710 {
1711 }
1712 
1714 {
1715  argmax.Fill(sr.argmax);
1716  cosmicid.Fill(sr.cosmicid);
1717  maxval.Fill(sr.maxval);
1718  ncid.Fill(sr.ncid);
1719  noutput.Fill(sr.noutput);
1720  nueid.Fill(sr.nueid);
1721  numuid.Fill(sr.numuid);
1722  nutauid.Fill(sr.nutauid);
1723  output.Fill(sr.output);
1724 }
1725 
1727 {
1728  argmax.Clear();
1729  cosmicid.Clear();
1730  maxval.Clear();
1731  ncid.Clear();
1732  noutput.Clear();
1733  nueid.Clear();
1734  numuid.Clear();
1735  nutauid.Clear();
1736  output.Clear();
1737 }
1738 
1739 flat::Flat<caf::SRLem>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1740  avgexpE(tr, prefix+".avgexpE", totsize, policy),
1741  avginvE(tr, prefix+".avginvE", totsize, policy),
1742  avgsigE(tr, prefix+".avgsigE", totsize, policy),
1743  chibkg(tr, prefix+".chibkg", totsize, policy),
1744  chibkgexp(tr, prefix+".chibkgexp", totsize, policy),
1745  chisig(tr, prefix+".chisig", totsize, policy),
1746  chisigexp(tr, prefix+".chisigexp", totsize, policy),
1747  dectree(tr, prefix+".dectree", totsize, policy),
1748  energydiff(tr, prefix+".energydiff", totsize, policy),
1749  energydiffexp(tr, prefix+".energydiffexp", totsize, policy),
1750  enrichfrac(tr, prefix+".enrichfrac", totsize, policy),
1751  enrichfracexp(tr, prefix+".enrichfracexp", totsize, policy),
1752  fannid(tr, prefix+".fannid", totsize, policy),
1753  fannidenrich(tr, prefix+".fannidenrich", totsize, policy),
1754  meanqfrac(tr, prefix+".meanqfrac", totsize, policy),
1755  meanqfracbkg(tr, prefix+".meanqfracbkg", totsize, policy),
1756  meanqfracbkgexp(tr, prefix+".meanqfracbkgexp", totsize, policy),
1757  meanqfracexp(tr, prefix+".meanqfracexp", totsize, policy),
1758  meanqfracfit(tr, prefix+".meanqfracfit", totsize, policy),
1759  meanqfracsig(tr, prefix+".meanqfracsig", totsize, policy),
1760  meanqfracsigexp(tr, prefix+".meanqfracsigexp", totsize, policy),
1761  meany(tr, prefix+".meany", totsize, policy),
1762  meanyexp(tr, prefix+".meanyexp", totsize, policy),
1763  meanyfit(tr, prefix+".meanyfit", totsize, policy),
1764  meanysig(tr, prefix+".meanysig", totsize, policy),
1765  meanysigexp(tr, prefix+".meanysigexp", totsize, policy),
1766  pid(tr, prefix+".pid", totsize, policy),
1767  pidexp(tr, prefix+".pidexp", totsize, policy),
1768  pidexpfit(tr, prefix+".pidexpfit", totsize, policy),
1769  pidfit(tr, prefix+".pidfit", totsize, policy),
1770  tmvabdt(tr, prefix+".tmvabdt", totsize, policy),
1771  tmvabdtd(tr, prefix+".tmvabdtd", totsize, policy),
1772  tmvabdtg(tr, prefix+".tmvabdtg", totsize, policy),
1773  tmvabdtmf(tr, prefix+".tmvabdtmf", totsize, policy),
1774  tmvamlp(tr, prefix+".tmvamlp", totsize, policy)
1775 {
1776 }
1777 
1779 {
1780  avgexpE.Fill(sr.avgexpE);
1781  avginvE.Fill(sr.avginvE);
1782  avgsigE.Fill(sr.avgsigE);
1783  chibkg.Fill(sr.chibkg);
1784  chibkgexp.Fill(sr.chibkgexp);
1785  chisig.Fill(sr.chisig);
1786  chisigexp.Fill(sr.chisigexp);
1787  dectree.Fill(sr.dectree);
1788  energydiff.Fill(sr.energydiff);
1789  energydiffexp.Fill(sr.energydiffexp);
1790  enrichfrac.Fill(sr.enrichfrac);
1791  enrichfracexp.Fill(sr.enrichfracexp);
1792  fannid.Fill(sr.fannid);
1793  fannidenrich.Fill(sr.fannidenrich);
1794  meanqfrac.Fill(sr.meanqfrac);
1795  meanqfracbkg.Fill(sr.meanqfracbkg);
1796  meanqfracbkgexp.Fill(sr.meanqfracbkgexp);
1797  meanqfracexp.Fill(sr.meanqfracexp);
1798  meanqfracfit.Fill(sr.meanqfracfit);
1799  meanqfracsig.Fill(sr.meanqfracsig);
1800  meanqfracsigexp.Fill(sr.meanqfracsigexp);
1801  meany.Fill(sr.meany);
1802  meanyexp.Fill(sr.meanyexp);
1803  meanyfit.Fill(sr.meanyfit);
1804  meanysig.Fill(sr.meanysig);
1805  meanysigexp.Fill(sr.meanysigexp);
1806  pid.Fill(sr.pid);
1807  pidexp.Fill(sr.pidexp);
1808  pidexpfit.Fill(sr.pidexpfit);
1809  pidfit.Fill(sr.pidfit);
1810  tmvabdt.Fill(sr.tmvabdt);
1811  tmvabdtd.Fill(sr.tmvabdtd);
1812  tmvabdtg.Fill(sr.tmvabdtg);
1813  tmvabdtmf.Fill(sr.tmvabdtmf);
1814  tmvamlp.Fill(sr.tmvamlp);
1815 }
1816 
1818 {
1819  avgexpE.Clear();
1820  avginvE.Clear();
1821  avgsigE.Clear();
1822  chibkg.Clear();
1823  chibkgexp.Clear();
1824  chisig.Clear();
1825  chisigexp.Clear();
1826  dectree.Clear();
1827  energydiff.Clear();
1828  energydiffexp.Clear();
1829  enrichfrac.Clear();
1830  enrichfracexp.Clear();
1831  fannid.Clear();
1832  fannidenrich.Clear();
1833  meanqfrac.Clear();
1834  meanqfracbkg.Clear();
1835  meanqfracbkgexp.Clear();
1836  meanqfracexp.Clear();
1837  meanqfracfit.Clear();
1838  meanqfracsig.Clear();
1839  meanqfracsigexp.Clear();
1840  meany.Clear();
1841  meanyexp.Clear();
1842  meanyfit.Clear();
1843  meanysig.Clear();
1844  meanysigexp.Clear();
1845  pid.Clear();
1846  pidexp.Clear();
1847  pidexpfit.Clear();
1848  pidfit.Clear();
1849  tmvabdt.Clear();
1850  tmvabdtd.Clear();
1851  tmvabdtg.Clear();
1852  tmvabdtmf.Clear();
1853  tmvamlp.Clear();
1854 }
1855 
1856 flat::Flat<caf::SRELid>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1857  ann(tr, prefix+".ann", totsize, policy),
1858  anne(tr, prefix+".anne", totsize, policy),
1859  annecos(tr, prefix+".annecos", totsize, policy),
1860  annepi0(tr, prefix+".annepi0", totsize, policy),
1861  rnn(tr, prefix+".rnn", totsize, policy)
1862 {
1863 }
1864 
1866 {
1867  ann.Fill(sr.ann);
1868  anne.Fill(sr.anne);
1869  annecos.Fill(sr.annecos);
1870  annepi0.Fill(sr.annepi0);
1871  rnn.Fill(sr.rnn);
1872 }
1873 
1875 {
1876  ann.Clear();
1877  anne.Clear();
1878  annecos.Clear();
1879  annepi0.Clear();
1880  rnn.Clear();
1881 }
1882 
1883 flat::Flat<caf::SRMuonID>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1884  pid(tr, prefix+".pid", totsize, policy)
1885 {
1886 }
1887 
1889 {
1890  pid.Fill(sr.pid);
1891 }
1892 
1894 {
1895  pid.Clear();
1896 }
1897 
1898 flat::Flat<caf::SRNCCosRej>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1899  cospidbdt(tr, prefix+".cospidbdt", totsize, policy),
1900  cospidbdtg(tr, prefix+".cospidbdtg", totsize, policy),
1901  pngptp(tr, prefix+".pngptp", totsize, policy)
1902 {
1903 }
1904 
1906 {
1907  cospidbdt.Fill(sr.cospidbdt);
1908  cospidbdtg.Fill(sr.cospidbdtg);
1909  pngptp.Fill(sr.pngptp);
1910 }
1911 
1913 {
1914  cospidbdt.Clear();
1915  cospidbdtg.Clear();
1916  pngptp.Clear();
1917 }
1918 
1919 flat::Flat<caf::SRNCPi0BkgRej>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1920  ncpidbdtg(tr, prefix+".ncpidbdtg", totsize, policy),
1921  ncpidbdtglt(tr, prefix+".ncpidbdtglt", totsize, policy)
1922 {
1923 }
1924 
1926 {
1927  ncpidbdtg.Fill(sr.ncpidbdtg);
1928  ncpidbdtglt.Fill(sr.ncpidbdtglt);
1929 }
1930 
1932 {
1933  ncpidbdtg.Clear();
1934  ncpidbdtglt.Clear();
1935 }
1936 
1937 flat::Flat<caf::SRNueCosRej>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
1938  cosdang(tr, prefix+".cosdang", totsize, policy),
1939  cospidcontain(tr, prefix+".cospidcontain", totsize, policy),
1940  cospidcontainxy(tr, prefix+".cospidcontainxy", totsize, policy),
1941  cospidcorebdt(tr, prefix+".cospidcorebdt", totsize, policy),
1942  cospidlight(tr, prefix+".cospidlight", totsize, policy),
1943  cospidperibdt(tr, prefix+".cospidperibdt", totsize, policy),
1944  distallpngback(tr, prefix+".distallpngback", totsize, policy),
1945  distallpngbottom(tr, prefix+".distallpngbottom", totsize, policy),
1946  distallpngeast(tr, prefix+".distallpngeast", totsize, policy),
1947  distallpngfront(tr, prefix+".distallpngfront", totsize, policy),
1948  distallpngtop(tr, prefix+".distallpngtop", totsize, policy),
1949  distallpngwest(tr, prefix+".distallpngwest", totsize, policy),
1950  hitsperplane(tr, prefix+".hitsperplane", totsize, policy),
1951  hitsperplaneasymm(tr, prefix+".hitsperplaneasymm", totsize, policy),
1952  hitsperplaneasymmslice(tr, prefix+".hitsperplaneasymmslice", totsize, policy),
1953  muanglediffbydist(tr, prefix+".muanglediffbydist", totsize, policy),
1954  muanglediffbytime(tr, prefix+".muanglediffbytime", totsize, policy),
1955  muclosestapproachbydist(tr, prefix+".muclosestapproachbydist", totsize, policy),
1956  muclosestapproachbytime(tr, prefix+".muclosestapproachbytime", totsize, policy),
1957  musliceidxbydist(tr, prefix+".musliceidxbydist", totsize, policy),
1958  musliceidxbytime(tr, prefix+".musliceidxbytime", totsize, policy),
1959  mutimediffbydist(tr, prefix+".mutimediffbydist", totsize, policy),
1960  mutimediffbytime(tr, prefix+".mutimediffbytime", totsize, policy),
1961  partptp(tr, prefix+".partptp", totsize, policy),
1962  photptp(tr, prefix+".photptp", totsize, policy),
1963  photpxp(tr, prefix+".photpxp", totsize, policy),
1964  photpyp(tr, prefix+".photpyp", totsize, policy),
1965  pngptp(tr, prefix+".pngptp", totsize, policy),
1966  prongmaxx(tr, prefix+".prongmaxx", totsize, policy),
1967  prongmaxy(tr, prefix+".prongmaxy", totsize, policy),
1968  prongmaxz(tr, prefix+".prongmaxz", totsize, policy),
1969  prongminx(tr, prefix+".prongminx", totsize, policy),
1970  prongminy(tr, prefix+".prongminy", totsize, policy),
1971  prongminz(tr, prefix+".prongminz", totsize, policy),
1972  sparsenessasymm(tr, prefix+".sparsenessasymm", totsize, policy),
1973  sparsenessasymmslice(tr, prefix+".sparsenessasymmslice", totsize, policy),
1974  startback(tr, prefix+".startback", totsize, policy),
1975  startbottom(tr, prefix+".startbottom", totsize, policy),
1976  starteast(tr, prefix+".starteast", totsize, policy),
1977  startfront(tr, prefix+".startfront", totsize, policy),
1978  starttop(tr, prefix+".starttop", totsize, policy),
1979  startwest(tr, prefix+".startwest", totsize, policy),
1980  stopback(tr, prefix+".stopback", totsize, policy),
1981  stopbottom(tr, prefix+".stopbottom", totsize, policy),
1982  stopeast(tr, prefix+".stopeast", totsize, policy),
1983  stopfront(tr, prefix+".stopfront", totsize, policy),
1984  stoptop(tr, prefix+".stoptop", totsize, policy),
1985  stopwest(tr, prefix+".stopwest", totsize, policy),
1986  vtxdoca(tr, prefix+".vtxdoca", totsize, policy)
1987 {
1988 }
1989 
1991 {
1992  cosdang.Fill(sr.cosdang);
1993  cospidcontain.Fill(sr.cospidcontain);
1994  cospidcontainxy.Fill(sr.cospidcontainxy);
1995  cospidcorebdt.Fill(sr.cospidcorebdt);
1996  cospidlight.Fill(sr.cospidlight);
1997  cospidperibdt.Fill(sr.cospidperibdt);
1998  distallpngback.Fill(sr.distallpngback);
2000  distallpngeast.Fill(sr.distallpngeast);
2002  distallpngtop.Fill(sr.distallpngtop);
2003  distallpngwest.Fill(sr.distallpngwest);
2004  hitsperplane.Fill(sr.hitsperplane);
2005  hitsperplaneasymm.Fill(sr.hitsperplaneasymm);
2006  hitsperplaneasymmslice.Fill(sr.hitsperplaneasymmslice);
2007  muanglediffbydist.Fill(sr.muanglediffbydist);
2008  muanglediffbytime.Fill(sr.muanglediffbytime);
2009  muclosestapproachbydist.Fill(sr.muclosestapproachbydist);
2010  muclosestapproachbytime.Fill(sr.muclosestapproachbytime);
2011  musliceidxbydist.Fill(sr.musliceidxbydist);
2012  musliceidxbytime.Fill(sr.musliceidxbytime);
2013  mutimediffbydist.Fill(sr.mutimediffbydist);
2014  mutimediffbytime.Fill(sr.mutimediffbytime);
2015  partptp.Fill(sr.partptp);
2016  photptp.Fill(sr.photptp);
2017  photpxp.Fill(sr.photpxp);
2018  photpyp.Fill(sr.photpyp);
2019  pngptp.Fill(sr.pngptp);
2020  prongmaxx.Fill(sr.prongmaxx);
2021  prongmaxy.Fill(sr.prongmaxy);
2022  prongmaxz.Fill(sr.prongmaxz);
2023  prongminx.Fill(sr.prongminx);
2024  prongminy.Fill(sr.prongminy);
2025  prongminz.Fill(sr.prongminz);
2026  sparsenessasymm.Fill(sr.sparsenessasymm);
2027  sparsenessasymmslice.Fill(sr.sparsenessasymmslice);
2028  startback.Fill(sr.startback);
2029  startbottom.Fill(sr.startbottom);
2030  starteast.Fill(sr.starteast);
2031  startfront.Fill(sr.startfront);
2032  starttop.Fill(sr.starttop);
2033  startwest.Fill(sr.startwest);
2034  stopback.Fill(sr.stopback);
2035  stopbottom.Fill(sr.stopbottom);
2036  stopeast.Fill(sr.stopeast);
2037  stopfront.Fill(sr.stopfront);
2038  stoptop.Fill(sr.stoptop);
2039  stopwest.Fill(sr.stopwest);
2040  vtxdoca.Fill(sr.vtxdoca);
2041 }
2042 
2044 {
2045  cosdang.Clear();
2046  cospidcontain.Clear();
2047  cospidcontainxy.Clear();
2048  cospidcorebdt.Clear();
2049  cospidlight.Clear();
2050  cospidperibdt.Clear();
2051  distallpngback.Clear();
2052  distallpngbottom.Clear();
2053  distallpngeast.Clear();
2054  distallpngfront.Clear();
2055  distallpngtop.Clear();
2056  distallpngwest.Clear();
2057  hitsperplane.Clear();
2058  hitsperplaneasymm.Clear();
2059  hitsperplaneasymmslice.Clear();
2060  muanglediffbydist.Clear();
2061  muanglediffbytime.Clear();
2062  muclosestapproachbydist.Clear();
2063  muclosestapproachbytime.Clear();
2064  musliceidxbydist.Clear();
2065  musliceidxbytime.Clear();
2066  mutimediffbydist.Clear();
2067  mutimediffbytime.Clear();
2068  partptp.Clear();
2069  photptp.Clear();
2070  photpxp.Clear();
2071  photpyp.Clear();
2072  pngptp.Clear();
2073  prongmaxx.Clear();
2074  prongmaxy.Clear();
2075  prongmaxz.Clear();
2076  prongminx.Clear();
2077  prongminy.Clear();
2078  prongminz.Clear();
2079  sparsenessasymm.Clear();
2080  sparsenessasymmslice.Clear();
2081  startback.Clear();
2082  startbottom.Clear();
2083  starteast.Clear();
2084  startfront.Clear();
2085  starttop.Clear();
2086  startwest.Clear();
2087  stopback.Clear();
2088  stopbottom.Clear();
2089  stopeast.Clear();
2090  stopfront.Clear();
2091  stoptop.Clear();
2092  stopwest.Clear();
2093  vtxdoca.Clear();
2094 }
2095 
2096 flat::Flat<caf::SRPresel>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2097  passpre(tr, prefix+".passpre", totsize, policy)
2098 {
2099 }
2100 
2102 {
2103  passpre.Fill(sr.passpre);
2104 }
2105 
2107 {
2108  passpre.Clear();
2109 }
2110 
2111 flat::Flat<caf::SRNuonEResult>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2112  epi0nuoneid(tr, prefix+".epi0nuoneid", totsize, policy),
2113  epi0pi0id(tr, prefix+".epi0pi0id", totsize, policy),
2114  noutput(tr, prefix+".noutput", totsize, policy),
2115  nueccid(tr, prefix+".nueccid", totsize, policy),
2116  nuoneid(tr, prefix+".nuoneid", totsize, policy),
2117  otherid(tr, prefix+".otherid", totsize, policy),
2118  output(tr, prefix+".output", totsize, policy),
2119  pi0id(tr, prefix+".pi0id", totsize, policy),
2120  rawgevslice(tr, prefix+".rawgevslice", totsize, policy)
2121 {
2122 }
2123 
2125 {
2126  epi0nuoneid.Fill(sr.epi0nuoneid);
2127  epi0pi0id.Fill(sr.epi0pi0id);
2128  noutput.Fill(sr.noutput);
2129  nueccid.Fill(sr.nueccid);
2130  nuoneid.Fill(sr.nuoneid);
2131  otherid.Fill(sr.otherid);
2132  output.Fill(sr.output);
2133  pi0id.Fill(sr.pi0id);
2134  rawgevslice.Fill(sr.rawgevslice);
2135 }
2136 
2138 {
2139  epi0nuoneid.Clear();
2140  epi0pi0id.Clear();
2141  noutput.Clear();
2142  nueccid.Clear();
2143  nuoneid.Clear();
2144  otherid.Clear();
2145  output.Clear();
2146  pi0id.Clear();
2147  rawgevslice.Clear();
2148 }
2149 
2150 flat::Flat<caf::SRRemid>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2151  cont(tr, prefix+".cont", totsize, policy),
2152  dedxllh(tr, prefix+".dedxllh", totsize, policy),
2153  len(tr, prefix+".len", totsize, policy),
2154  measfrac(tr, prefix+".measfrac", totsize, policy),
2155  pid(tr, prefix+".pid", totsize, policy),
2156  scatllh(tr, prefix+".scatllh", totsize, policy)
2157 {
2158 }
2159 
2161 {
2162  cont.Fill(sr.cont);
2163  dedxllh.Fill(sr.dedxllh);
2164  len.Fill(sr.len);
2165  measfrac.Fill(sr.measfrac);
2166  pid.Fill(sr.pid);
2167  scatllh.Fill(sr.scatllh);
2168 }
2169 
2171 {
2172  cont.Clear();
2173  dedxllh.Clear();
2174  len.Clear();
2175  measfrac.Clear();
2176  pid.Clear();
2177  scatllh.Clear();
2178 }
2179 
2180 flat::Flat<caf::SRRvp>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2181  efrac2plwin(tr, prefix+".efrac2plwin", totsize, policy),
2182  efrac2sigrd(tr, prefix+".efrac2sigrd", totsize, policy),
2183  efrac6plwin(tr, prefix+".efrac6plwin", totsize, policy),
2184  eiso3sig(tr, prefix+".eiso3sig", totsize, policy),
2185  epl20frac(tr, prefix+".epl20frac", totsize, policy),
2186  longtr(tr, prefix+".longtr", totsize, policy),
2187  longtrfrac(tr, prefix+".longtrfrac", totsize, policy),
2188  mipfrac(tr, prefix+".mipfrac", totsize, policy),
2189  miphits(tr, prefix+".miphits", totsize, policy),
2190  ncell(tr, prefix+".ncell", totsize, policy),
2191  pid(tr, prefix+".pid", totsize, policy),
2192  prongEbal2D(tr, prefix+".prongEbal2D", totsize, policy),
2193  prongEbal3D(tr, prefix+".prongEbal3D", totsize, policy),
2194  prongs2D(tr, prefix+".prongs2D", totsize, policy),
2195  prongs3D(tr, prefix+".prongs3D", totsize, policy),
2196  recoE(tr, prefix+".recoE", totsize, policy),
2197  rvp12(tr, prefix+".rvp12", totsize, policy)
2198 {
2199 }
2200 
2202 {
2203  efrac2plwin.Fill(sr.efrac2plwin);
2204  efrac2sigrd.Fill(sr.efrac2sigrd);
2205  efrac6plwin.Fill(sr.efrac6plwin);
2206  eiso3sig.Fill(sr.eiso3sig);
2207  epl20frac.Fill(sr.epl20frac);
2208  longtr.Fill(sr.longtr);
2209  longtrfrac.Fill(sr.longtrfrac);
2210  mipfrac.Fill(sr.mipfrac);
2211  miphits.Fill(sr.miphits);
2212  ncell.Fill(sr.ncell);
2213  pid.Fill(sr.pid);
2214  prongEbal2D.Fill(sr.prongEbal2D);
2215  prongEbal3D.Fill(sr.prongEbal3D);
2216  prongs2D.Fill(sr.prongs2D);
2217  prongs3D.Fill(sr.prongs3D);
2218  recoE.Fill(sr.recoE);
2219  rvp12.Fill(sr.rvp12);
2220 }
2221 
2223 {
2224  efrac2plwin.Clear();
2225  efrac2sigrd.Clear();
2226  efrac6plwin.Clear();
2227  eiso3sig.Clear();
2228  epl20frac.Clear();
2229  longtr.Clear();
2230  longtrfrac.Clear();
2231  mipfrac.Clear();
2232  miphits.Clear();
2233  ncell.Clear();
2234  pid.Clear();
2235  prongEbal2D.Clear();
2236  prongEbal3D.Clear();
2237  prongs2D.Clear();
2238  prongs3D.Clear();
2239  recoE.Clear();
2240  rvp12.Clear();
2241 }
2242 
2243 flat::Flat<caf::SRSliceLID>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2244  cosmicid(tr, prefix+".cosmicid", totsize, policy),
2245  ncid(tr, prefix+".ncid", totsize, policy),
2246  nueid(tr, prefix+".nueid", totsize, policy),
2247  numuid(tr, prefix+".numuid", totsize, policy),
2248  nutauid(tr, prefix+".nutauid", totsize, policy)
2249 {
2250 }
2251 
2253 {
2254  cosmicid.Fill(sr.cosmicid);
2255  ncid.Fill(sr.ncid);
2256  nueid.Fill(sr.nueid);
2257  numuid.Fill(sr.numuid);
2258  nutauid.Fill(sr.nutauid);
2259 }
2260 
2262 {
2263  cosmicid.Clear();
2264  ncid.Clear();
2265  nueid.Clear();
2266  numuid.Clear();
2267  nutauid.Clear();
2268 }
2269 
2270 flat::Flat<caf::SRVeto>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2271  angle(tr, prefix+".angle", totsize, policy),
2272  anglevar(tr, prefix+".anglevar", totsize, policy),
2273  anglevarold(tr, prefix+".anglevarold", totsize, policy),
2274  bakdist(tr, prefix+".bakdist", totsize, policy),
2275  diry(tr, prefix+".diry", totsize, policy),
2276  fwddist(tr, prefix+".fwddist", totsize, policy),
2277  keep(tr, prefix+".keep", totsize, policy),
2278  keepnue(tr, prefix+".keepnue", totsize, policy),
2279  ncell(tr, prefix+".ncell", totsize, policy),
2280  passangle(tr, prefix+".passangle", totsize, policy),
2281  passanglefirstana(tr, prefix+".passanglefirstana", totsize, policy),
2282  passnumicut(tr, prefix+".passnumicut", totsize, policy),
2283  passthru(tr, prefix+".passthru", totsize, policy),
2284  passthruold(tr, prefix+".passthruold", totsize, policy),
2285  ratio(tr, prefix+".ratio", totsize, policy)
2286 {
2287 }
2288 
2290 {
2291  angle.Fill(sr.angle);
2292  anglevar.Fill(sr.anglevar);
2293  anglevarold.Fill(sr.anglevarold);
2294  bakdist.Fill(sr.bakdist);
2295  diry.Fill(sr.diry);
2296  fwddist.Fill(sr.fwddist);
2297  keep.Fill(sr.keep);
2298  keepnue.Fill(sr.keepnue);
2299  ncell.Fill(sr.ncell);
2300  passangle.Fill(sr.passangle);
2301  passanglefirstana.Fill(sr.passanglefirstana);
2302  passnumicut.Fill(sr.passnumicut);
2303  passthru.Fill(sr.passthru);
2304  passthruold.Fill(sr.passthruold);
2305  ratio.Fill(sr.ratio);
2306 }
2307 
2309 {
2310  angle.Clear();
2311  anglevar.Clear();
2312  anglevarold.Clear();
2313  bakdist.Clear();
2314  diry.Clear();
2315  fwddist.Clear();
2316  keep.Clear();
2317  keepnue.Clear();
2318  ncell.Clear();
2319  passangle.Clear();
2320  passanglefirstana.Clear();
2321  passnumicut.Clear();
2322  passthru.Clear();
2323  passthruold.Clear();
2324  ratio.Clear();
2325 }
2326 
2327 flat::Flat<caf::SRXnue>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2328  bdt(tr, prefix+".bdt", totsize, policy),
2329  efrac10p(tr, prefix+".efrac10p", totsize, policy),
2330  efrac2sig(tr, prefix+".efrac2sig", totsize, policy),
2331  efracp2(tr, prefix+".efracp2", totsize, policy),
2332  efracp3(tr, prefix+".efracp3", totsize, policy),
2333  efracp4(tr, prefix+".efracp4", totsize, policy),
2334  emaxfrac6p(tr, prefix+".emaxfrac6p", totsize, policy),
2335  p1Fmip(tr, prefix+".p1Fmip", totsize, policy),
2336  p1energy(tr, prefix+".p1energy", totsize, policy),
2337  p2Fmip(tr, prefix+".p2Fmip", totsize, policy)
2338 {
2339 }
2340 
2342 {
2343  bdt.Fill(sr.bdt);
2344  efrac10p.Fill(sr.efrac10p);
2345  efrac2sig.Fill(sr.efrac2sig);
2346  efracp2.Fill(sr.efracp2);
2347  efracp3.Fill(sr.efracp3);
2348  efracp4.Fill(sr.efracp4);
2349  emaxfrac6p.Fill(sr.emaxfrac6p);
2350  p1Fmip.Fill(sr.p1Fmip);
2351  p1energy.Fill(sr.p1energy);
2352  p2Fmip.Fill(sr.p2Fmip);
2353 }
2354 
2356 {
2357  bdt.Clear();
2358  efrac10p.Clear();
2359  efrac2sig.Clear();
2360  efracp2.Clear();
2361  efracp3.Clear();
2362  efracp4.Clear();
2363  emaxfrac6p.Clear();
2364  p1Fmip.Clear();
2365  p1energy.Clear();
2366  p2Fmip.Clear();
2367 }
2368 
2369 flat::Flat<caf::SRIDBranch>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2370  bpfid(tr, prefix+".bpfid", totsize, policy),
2371  contain(tr, prefix+".contain", totsize, policy),
2372  cosrej(tr, prefix+".cosrej", totsize, policy),
2373  cvn(tr, prefix+".cvn", totsize, policy),
2374  cvnloosepreselptp(tr, prefix+".cvnloosepreselptp", totsize, policy),
2375  cvnloosepreselptp_opphorn(tr, prefix+".cvnloosepreselptp_opphorn", totsize, policy),
2376  cvnnocosmics(tr, prefix+".cvnnocosmics", totsize, policy),
2377  cvnnocosmics_opphorn(tr, prefix+".cvnnocosmics_opphorn", totsize, policy),
2378  cvnoldpresel(tr, prefix+".cvnoldpresel", totsize, policy),
2379  cvnoldpresel_opphorn(tr, prefix+".cvnoldpresel_opphorn", totsize, policy),
2380  lem(tr, prefix+".lem", totsize, policy),
2381  lid(tr, prefix+".lid", totsize, policy),
2382  muonid(tr, prefix+".muonid", totsize, policy),
2383  nccosrej(tr, prefix+".nccosrej", totsize, policy),
2384  ncpi0bkgrej(tr, prefix+".ncpi0bkgrej", totsize, policy),
2385  nuecosrej(tr, prefix+".nuecosrej", totsize, policy),
2386  nuepre(tr, prefix+".nuepre", totsize, policy),
2387  nuone(tr, prefix+".nuone", totsize, policy),
2388  nuone_opphorn(tr, prefix+".nuone_opphorn", totsize, policy),
2389  remid(tr, prefix+".remid", totsize, policy),
2390  rockpre(tr, prefix+".rockpre", totsize, policy),
2391  rvp(tr, prefix+".rvp", totsize, policy),
2392  slicelid(tr, prefix+".slicelid", totsize, policy),
2393  slicelid_opphorn(tr, prefix+".slicelid_opphorn", totsize, policy),
2394  veto(tr, prefix+".veto", totsize, policy),
2395  wsid(tr, prefix+".wsid", totsize, policy),
2396  xnuepid(tr, prefix+".xnuepid", totsize, policy)
2397 {
2398 }
2399 
2401 {
2402  bpfid.Fill(sr.bpfid);
2403  contain.Fill(sr.contain);
2404  cosrej.Fill(sr.cosrej);
2405  cvn.Fill(sr.cvn);
2406  cvnloosepreselptp.Fill(sr.cvnloosepreselptp);
2407  cvnloosepreselptp_opphorn.Fill(sr.cvnloosepreselptp_opphorn);
2408  cvnnocosmics.Fill(sr.cvnnocosmics);
2409  cvnnocosmics_opphorn.Fill(sr.cvnnocosmics_opphorn);
2410  cvnoldpresel.Fill(sr.cvnoldpresel);
2411  cvnoldpresel_opphorn.Fill(sr.cvnoldpresel_opphorn);
2412  lem.Fill(sr.lem);
2413  lid.Fill(sr.lid);
2414  muonid.Fill(sr.muonid);
2415  nccosrej.Fill(sr.nccosrej);
2416  ncpi0bkgrej.Fill(sr.ncpi0bkgrej);
2417  nuecosrej.Fill(sr.nuecosrej);
2418  nuepre.Fill(sr.nuepre);
2419  nuone.Fill(sr.nuone);
2420  nuone_opphorn.Fill(sr.nuone_opphorn);
2421  remid.Fill(sr.remid);
2422  rockpre.Fill(sr.rockpre);
2423  rvp.Fill(sr.rvp);
2424  slicelid.Fill(sr.slicelid);
2425  slicelid_opphorn.Fill(sr.slicelid_opphorn);
2426  veto.Fill(sr.veto);
2427  wsid.Fill(sr.wsid);
2428  xnuepid.Fill(sr.xnuepid);
2429 }
2430 
2432 {
2433  bpfid.Clear();
2434  contain.Clear();
2435  cosrej.Clear();
2436  cvn.Clear();
2437  cvnloosepreselptp.Clear();
2438  cvnloosepreselptp_opphorn.Clear();
2439  cvnnocosmics.Clear();
2440  cvnnocosmics_opphorn.Clear();
2441  cvnoldpresel.Clear();
2442  cvnoldpresel_opphorn.Clear();
2443  lem.Clear();
2444  lid.Clear();
2445  muonid.Clear();
2446  nccosrej.Clear();
2447  ncpi0bkgrej.Clear();
2448  nuecosrej.Clear();
2449  nuepre.Clear();
2450  nuone.Clear();
2451  nuone_opphorn.Clear();
2452  remid.Clear();
2453  rockpre.Clear();
2454  rvp.Clear();
2455  slicelid.Clear();
2456  slicelid_opphorn.Clear();
2457  veto.Clear();
2458  wsid.Clear();
2459  xnuepid.Clear();
2460 }
2461 
2462 flat::Flat<caf::SRSlice>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2463  boxmax(tr, prefix+".boxmax", totsize, policy),
2464  boxmin(tr, prefix+".boxmin", totsize, policy),
2465  calE(tr, prefix+".calE", totsize, policy),
2466  closestslicecalE(tr, prefix+".closestslicecalE", totsize, policy),
2467  closestslicemindist(tr, prefix+".closestslicemindist", totsize, policy),
2468  closestsliceminfromback(tr, prefix+".closestsliceminfromback", totsize, policy),
2469  closestsliceminfrombottom(tr, prefix+".closestsliceminfrombottom", totsize, policy),
2470  closestsliceminfromeast(tr, prefix+".closestsliceminfromeast", totsize, policy),
2471  closestsliceminfromfront(tr, prefix+".closestsliceminfromfront", totsize, policy),
2472  closestsliceminfromtop(tr, prefix+".closestsliceminfromtop", totsize, policy),
2473  closestsliceminfromwest(tr, prefix+".closestsliceminfromwest", totsize, policy),
2474  closestslicenhit(tr, prefix+".closestslicenhit", totsize, policy),
2475  closestslicetime(tr, prefix+".closestslicetime", totsize, policy),
2476  endtime(tr, prefix+".endtime", totsize, policy),
2477  firstcell(tr, prefix+".firstcell", totsize, policy),
2478  firstplane(tr, prefix+".firstplane", totsize, policy),
2479  fracnoiseE(tr, prefix+".fracnoiseE", totsize, policy),
2480  fracnoisePE(tr, prefix+".fracnoisePE", totsize, policy),
2481  lastcell(tr, prefix+".lastcell", totsize, policy),
2482  lastplane(tr, prefix+".lastplane", totsize, policy),
2483  meanpos(tr, prefix+".meanpos", totsize, policy),
2484  meantime(tr, prefix+".meantime", totsize, policy),
2485  ncalhit(tr, prefix+".ncalhit", totsize, policy),
2486  ncellsfromedge(tr, prefix+".ncellsfromedge", totsize, policy),
2487  ncontplanes(tr, prefix+".ncontplanes", totsize, policy),
2488  nhit(tr, prefix+".nhit", totsize, policy),
2489  nmiphit(tr, prefix+".nmiphit", totsize, policy),
2490  nnoisehit(tr, prefix+".nnoisehit", totsize, policy),
2491  nnonnoise(tr, prefix+".nnonnoise", totsize, policy),
2492  starttime(tr, prefix+".starttime", totsize, policy),
2493  tsd(tr, prefix+".tsd", totsize, policy)
2494 {
2495 }
2496 
2498 {
2499  boxmax.Fill(sr.boxmax);
2500  boxmin.Fill(sr.boxmin);
2501  calE.Fill(sr.calE);
2502  closestslicecalE.Fill(sr.closestslicecalE);
2504  closestsliceminfromback.Fill(sr.closestsliceminfromback);
2505  closestsliceminfrombottom.Fill(sr.closestsliceminfrombottom);
2506  closestsliceminfromeast.Fill(sr.closestsliceminfromeast);
2507  closestsliceminfromfront.Fill(sr.closestsliceminfromfront);
2508  closestsliceminfromtop.Fill(sr.closestsliceminfromtop);
2509  closestsliceminfromwest.Fill(sr.closestsliceminfromwest);
2510  closestslicenhit.Fill(sr.closestslicenhit);
2512  endtime.Fill(sr.endtime);
2513  firstcell.Fill(sr.firstcell);
2514  firstplane.Fill(sr.firstplane);
2515  fracnoiseE.Fill(sr.fracnoiseE);
2516  fracnoisePE.Fill(sr.fracnoisePE);
2517  lastcell.Fill(sr.lastcell);
2518  lastplane.Fill(sr.lastplane);
2519  meanpos.Fill(sr.meanpos);
2520  meantime.Fill(sr.meantime);
2521  ncalhit.Fill(sr.ncalhit);
2522  ncellsfromedge.Fill(sr.ncellsfromedge);
2523  ncontplanes.Fill(sr.ncontplanes);
2524  nhit.Fill(sr.nhit);
2525  nmiphit.Fill(sr.nmiphit);
2526  nnoisehit.Fill(sr.nnoisehit);
2527  nnonnoise.Fill(sr.nnonnoise);
2528  starttime.Fill(sr.starttime);
2529  tsd.Fill(sr.tsd);
2530 }
2531 
2533 {
2534  boxmax.Clear();
2535  boxmin.Clear();
2536  calE.Clear();
2537  closestslicecalE.Clear();
2538  closestslicemindist.Clear();
2539  closestsliceminfromback.Clear();
2540  closestsliceminfrombottom.Clear();
2541  closestsliceminfromeast.Clear();
2542  closestsliceminfromfront.Clear();
2543  closestsliceminfromtop.Clear();
2544  closestsliceminfromwest.Clear();
2545  closestslicenhit.Clear();
2546  closestslicetime.Clear();
2547  endtime.Clear();
2548  firstcell.Clear();
2549  firstplane.Clear();
2550  fracnoiseE.Clear();
2551  fracnoisePE.Clear();
2552  lastcell.Clear();
2553  lastplane.Clear();
2554  meanpos.Clear();
2555  meantime.Clear();
2556  ncalhit.Clear();
2557  ncellsfromedge.Clear();
2558  ncontplanes.Clear();
2559  nhit.Clear();
2560  nmiphit.Clear();
2561  nnoisehit.Clear();
2562  nnonnoise.Clear();
2563  starttime.Clear();
2564  tsd.Clear();
2565 }
2566 
2567 flat::Flat<caf::SRCosmicCVN>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2568  cosmicVal(tr, prefix+".cosmicVal", totsize, policy),
2569  nHits(tr, prefix+".nHits", totsize, policy),
2570  ncVal(tr, prefix+".ncVal", totsize, policy),
2571  nueVal(tr, prefix+".nueVal", totsize, policy),
2572  numuVal(tr, prefix+".numuVal", totsize, policy),
2573  nutauVal(tr, prefix+".nutauVal", totsize, policy),
2574  passSel(tr, prefix+".passSel", totsize, policy),
2575  timeWinMax(tr, prefix+".timeWinMax", totsize, policy),
2576  timeWinMin(tr, prefix+".timeWinMin", totsize, policy)
2577 {
2578 }
2579 
2581 {
2582  cosmicVal.Fill(sr.cosmicVal);
2583  nHits.Fill(sr.nHits);
2584  ncVal.Fill(sr.ncVal);
2585  nueVal.Fill(sr.nueVal);
2586  numuVal.Fill(sr.numuVal);
2587  nutauVal.Fill(sr.nutauVal);
2588  passSel.Fill(sr.passSel);
2589  timeWinMax.Fill(sr.timeWinMax);
2590  timeWinMin.Fill(sr.timeWinMin);
2591 }
2592 
2594 {
2595  cosmicVal.Clear();
2596  nHits.Clear();
2597  ncVal.Clear();
2598  nueVal.Clear();
2599  numuVal.Clear();
2600  nutauVal.Clear();
2601  passSel.Clear();
2602  timeWinMax.Clear();
2603  timeWinMin.Clear();
2604 }
2605 
2606 flat::Flat<caf::SRSpill>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2607  bposx(tr, prefix+".bposx", totsize, policy),
2608  bposy(tr, prefix+".bposy", totsize, policy),
2609  cosmiccvn(tr, prefix+".cosmiccvn", totsize, policy),
2610  dcmedgematchfrac(tr, prefix+".dcmedgematchfrac", totsize, policy),
2611  deltaspilltimensec(tr, prefix+".deltaspilltimensec", totsize, policy),
2612  det(tr, prefix+".det", totsize, policy),
2613  dibfirst(tr, prefix+".dibfirst", totsize, policy),
2614  diblast(tr, prefix+".diblast", totsize, policy),
2615  dibmask(tr, prefix+".dibmask", totsize, policy),
2616  emptydatablock(tr, prefix+".emptydatablock", totsize, policy),
2617  eventincomplete(tr, prefix+".eventincomplete", totsize, policy),
2618  evt(tr, prefix+".evt", totsize, policy),
2619  fracdcm3hits(tr, prefix+".fracdcm3hits", totsize, policy),
2620  gpsspilltimensec(tr, prefix+".gpsspilltimensec", totsize, policy),
2621  gpsspilltimesec(tr, prefix+".gpsspilltimesec", totsize, policy),
2622  hornI(tr, prefix+".hornI", totsize, policy),
2623  intx(tr, prefix+".intx", totsize, policy),
2624  inty(tr, prefix+".inty", totsize, policy),
2625  is0HC(tr, prefix+".is0HC", totsize, policy),
2626  isFHC(tr, prefix+".isFHC", totsize, policy),
2627  isRHC(tr, prefix+".isRHC", totsize, policy),
2628  isgoodspill(tr, prefix+".isgoodspill", totsize, policy),
2629  ismc(tr, prefix+".ismc", totsize, policy),
2630  livetime(tr, prefix+".livetime", totsize, policy),
2631  maskstatus(tr, prefix+".maskstatus", totsize, policy),
2632  nanosliceadcerror(tr, prefix+".nanosliceadcerror", totsize, policy),
2633  nanoslicebufferempty(tr, prefix+".nanoslicebufferempty", totsize, policy),
2634  nanoslicebufferfull(tr, prefix+".nanoslicebufferfull", totsize, policy),
2635  nanoslicecommerror(tr, prefix+".nanoslicecommerror", totsize, policy),
2636  nanoslicedatanotpresent(tr, prefix+".nanoslicedatanotpresent", totsize, policy),
2637  nanoslicenolinkstatus(tr, prefix+".nanoslicenolinkstatus", totsize, policy),
2638  nanosliceoverflowerror(tr, prefix+".nanosliceoverflowerror", totsize, policy),
2639  nanoslicepacketerror(tr, prefix+".nanoslicepacketerror", totsize, policy),
2640  nbaddcmslg(tr, prefix+".nbaddcmslg", totsize, policy),
2641  ncosmiccvn(tr, prefix+".ncosmiccvn", totsize, policy),
2642  ndatablockmissingdata(tr, prefix+".ndatablockmissingdata", totsize, policy),
2643  ndcms(tr, prefix+".ndcms", totsize, policy),
2644  ndiblocks(tr, prefix+".ndiblocks", totsize, policy),
2645  ndroppedmicroblocks(tr, prefix+".ndroppedmicroblocks", totsize, policy),
2646  nemptymicroslice(tr, prefix+".nemptymicroslice", totsize, policy),
2647  nmicroblocks(tr, prefix+".nmicroblocks", totsize, policy),
2648  nmicroslicedatanotpresent(tr, prefix+".nmicroslicedatanotpresent", totsize, policy),
2649  nmicroslices(tr, prefix+".nmicroslices", totsize, policy),
2650  nmissingdcms(tr, prefix+".nmissingdcms", totsize, policy),
2651  nmissingdcmslg(tr, prefix+".nmissingdcmslg", totsize, policy),
2652  nnanoslices(tr, prefix+".nnanoslices", totsize, policy),
2653  nnoisyapds(tr, prefix+".nnoisyapds", totsize, policy),
2654  nouttimehits(tr, prefix+".nouttimehits", totsize, policy),
2655  posx(tr, prefix+".posx", totsize, policy),
2656  posy(tr, prefix+".posy", totsize, policy),
2657  run(tr, prefix+".run", totsize, policy),
2658  spillpot(tr, prefix+".spillpot", totsize, policy),
2659  spilltimensec(tr, prefix+".spilltimensec", totsize, policy),
2660  spilltimesec(tr, prefix+".spilltimesec", totsize, policy),
2661  subrun(tr, prefix+".subrun", totsize, policy),
2662  trigger(tr, prefix+".trigger", totsize, policy),
2663  widthx(tr, prefix+".widthx", totsize, policy),
2664  widthy(tr, prefix+".widthy", totsize, policy)
2665 {
2666 }
2667 
2669 {
2670  bposx.Fill(sr.bposx);
2671  bposy.Fill(sr.bposy);
2672  cosmiccvn.Fill(sr.cosmiccvn);
2673  dcmedgematchfrac.Fill(sr.dcmedgematchfrac);
2674  deltaspilltimensec.Fill(sr.deltaspilltimensec);
2675  det.Fill(sr.det);
2676  dibfirst.Fill(sr.dibfirst);
2677  diblast.Fill(sr.diblast);
2678  dibmask.Fill(sr.dibmask);
2679  emptydatablock.Fill(sr.emptydatablock);
2680  eventincomplete.Fill(sr.eventincomplete);
2681  evt.Fill(sr.evt);
2682  fracdcm3hits.Fill(sr.fracdcm3hits);
2683  gpsspilltimensec.Fill(sr.gpsspilltimensec);
2684  gpsspilltimesec.Fill(sr.gpsspilltimesec);
2685  hornI.Fill(sr.hornI);
2686  intx.Fill(sr.intx);
2687  inty.Fill(sr.inty);
2688  is0HC.Fill(sr.is0HC);
2689  isFHC.Fill(sr.isFHC);
2690  isRHC.Fill(sr.isRHC);
2691  isgoodspill.Fill(sr.isgoodspill);
2692  ismc.Fill(sr.ismc);
2693  livetime.Fill(sr.livetime);
2694  maskstatus.Fill(sr.maskstatus);
2695  nanosliceadcerror.Fill(sr.nanosliceadcerror);
2696  nanoslicebufferempty.Fill(sr.nanoslicebufferempty);
2697  nanoslicebufferfull.Fill(sr.nanoslicebufferfull);
2698  nanoslicecommerror.Fill(sr.nanoslicecommerror);
2699  nanoslicedatanotpresent.Fill(sr.nanoslicedatanotpresent);
2700  nanoslicenolinkstatus.Fill(sr.nanoslicenolinkstatus);
2701  nanosliceoverflowerror.Fill(sr.nanosliceoverflowerror);
2702  nanoslicepacketerror.Fill(sr.nanoslicepacketerror);
2703  nbaddcmslg.Fill(sr.nbaddcmslg);
2704  ncosmiccvn.Fill(sr.ncosmiccvn);
2705  ndatablockmissingdata.Fill(sr.ndatablockmissingdata);
2706  ndcms.Fill(sr.ndcms);
2707  ndiblocks.Fill(sr.ndiblocks);
2708  ndroppedmicroblocks.Fill(sr.ndroppedmicroblocks);
2709  nemptymicroslice.Fill(sr.nemptymicroslice);
2710  nmicroblocks.Fill(sr.nmicroblocks);
2711  nmicroslicedatanotpresent.Fill(sr.nmicroslicedatanotpresent);
2712  nmicroslices.Fill(sr.nmicroslices);
2713  nmissingdcms.Fill(sr.nmissingdcms);
2714  nmissingdcmslg.Fill(sr.nmissingdcmslg);
2715  nnanoslices.Fill(sr.nnanoslices);
2716  nnoisyapds.Fill(sr.nnoisyapds);
2717  nouttimehits.Fill(sr.nouttimehits);
2718  posx.Fill(sr.posx);
2719  posy.Fill(sr.posy);
2720  run.Fill(sr.run);
2721  spillpot.Fill(sr.spillpot);
2722  spilltimensec.Fill(sr.spilltimensec);
2723  spilltimesec.Fill(sr.spilltimesec);
2724  subrun.Fill(sr.subrun);
2725  trigger.Fill(sr.trigger);
2726  widthx.Fill(sr.widthx);
2727  widthy.Fill(sr.widthy);
2728 }
2729 
2731 {
2732  bposx.Clear();
2733  bposy.Clear();
2734  cosmiccvn.Clear();
2735  dcmedgematchfrac.Clear();
2736  deltaspilltimensec.Clear();
2737  det.Clear();
2738  dibfirst.Clear();
2739  diblast.Clear();
2740  dibmask.Clear();
2741  emptydatablock.Clear();
2742  eventincomplete.Clear();
2743  evt.Clear();
2744  fracdcm3hits.Clear();
2745  gpsspilltimensec.Clear();
2746  gpsspilltimesec.Clear();
2747  hornI.Clear();
2748  intx.Clear();
2749  inty.Clear();
2750  is0HC.Clear();
2751  isFHC.Clear();
2752  isRHC.Clear();
2753  isgoodspill.Clear();
2754  ismc.Clear();
2755  livetime.Clear();
2756  maskstatus.Clear();
2757  nanosliceadcerror.Clear();
2758  nanoslicebufferempty.Clear();
2759  nanoslicebufferfull.Clear();
2760  nanoslicecommerror.Clear();
2761  nanoslicedatanotpresent.Clear();
2762  nanoslicenolinkstatus.Clear();
2763  nanosliceoverflowerror.Clear();
2764  nanoslicepacketerror.Clear();
2765  nbaddcmslg.Clear();
2766  ncosmiccvn.Clear();
2767  ndatablockmissingdata.Clear();
2768  ndcms.Clear();
2769  ndiblocks.Clear();
2770  ndroppedmicroblocks.Clear();
2771  nemptymicroslice.Clear();
2772  nmicroblocks.Clear();
2773  nmicroslicedatanotpresent.Clear();
2774  nmicroslices.Clear();
2775  nmissingdcms.Clear();
2776  nmissingdcmslg.Clear();
2777  nnanoslices.Clear();
2778  nnoisyapds.Clear();
2779  nouttimehits.Clear();
2780  posx.Clear();
2781  posy.Clear();
2782  run.Clear();
2783  spillpot.Clear();
2784  spilltimensec.Clear();
2785  spilltimesec.Clear();
2786  subrun.Clear();
2787  trigger.Clear();
2788  widthx.Clear();
2789  widthy.Clear();
2790 }
2791 
2792 flat::Flat<caf::SRCVNFeatures>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2793  components(tr, prefix+".components", totsize, policy),
2794  ncomponents(tr, prefix+".ncomponents", totsize, policy),
2795  noutput(tr, prefix+".noutput", totsize, policy),
2796  output(tr, prefix+".output", totsize, policy)
2797 {
2798 }
2799 
2801 {
2802  components.Fill(sr.components);
2803  ncomponents.Fill(sr.ncomponents);
2804  noutput.Fill(sr.noutput);
2805  output.Fill(sr.output);
2806 }
2807 
2809 {
2810  components.Clear();
2811  ncomponents.Clear();
2812  noutput.Clear();
2813  output.Clear();
2814 }
2815 
2816 flat::Flat<caf::SRPixelObjMap>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2817  cvnlabmap(tr, prefix+".cvnlabmap", totsize, policy),
2818  cvnmap(tr, prefix+".cvnmap", totsize, policy),
2819  cvnobjmap(tr, prefix+".cvnobjmap", totsize, policy),
2820  firstcellx(tr, prefix+".firstcellx", totsize, policy),
2821  firstcelly(tr, prefix+".firstcelly", totsize, policy),
2822  firstplane(tr, prefix+".firstplane", totsize, policy),
2823  hitfracx(tr, prefix+".hitfracx", totsize, policy),
2824  hitfracy(tr, prefix+".hitfracy", totsize, policy),
2825  lastcellx(tr, prefix+".lastcellx", totsize, policy),
2826  lastcelly(tr, prefix+".lastcelly", totsize, policy),
2827  lastplane(tr, prefix+".lastplane", totsize, policy),
2828  ncells(tr, prefix+".ncells", totsize, policy),
2829  nchan(tr, prefix+".nchan", totsize, policy),
2830  nplanes(tr, prefix+".nplanes", totsize, policy)
2831 {
2832 }
2833 
2835 {
2836  cvnlabmap.Fill(sr.cvnlabmap);
2837  cvnmap.Fill(sr.cvnmap);
2838  cvnobjmap.Fill(sr.cvnobjmap);
2839  firstcellx.Fill(sr.firstcellx);
2840  firstcelly.Fill(sr.firstcelly);
2841  firstplane.Fill(sr.firstplane);
2842  hitfracx.Fill(sr.hitfracx);
2843  hitfracy.Fill(sr.hitfracy);
2844  lastcellx.Fill(sr.lastcellx);
2845  lastcelly.Fill(sr.lastcelly);
2846  lastplane.Fill(sr.lastplane);
2847  ncells.Fill(sr.ncells);
2848  nchan.Fill(sr.nchan);
2849  nplanes.Fill(sr.nplanes);
2850 }
2851 
2853 {
2854  cvnlabmap.Clear();
2855  cvnmap.Clear();
2856  cvnobjmap.Clear();
2857  firstcellx.Clear();
2858  firstcelly.Clear();
2859  firstplane.Clear();
2860  hitfracx.Clear();
2861  hitfracy.Clear();
2862  lastcellx.Clear();
2863  lastcelly.Clear();
2864  lastplane.Clear();
2865  ncells.Clear();
2866  nchan.Clear();
2867  nplanes.Clear();
2868 }
2869 
2870 flat::Flat<caf::SRSliceMap>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2871  slicemap(tr, prefix+".slicemap", totsize, policy)
2872 {
2873 }
2874 
2876 {
2877  slicemap.Fill(sr.slicemap);
2878 }
2879 
2881 {
2882  slicemap.Clear();
2883 }
2884 
2886  finalstate(tr, prefix+".finalstate", totsize, policy),
2887  finalstateprong(tr, prefix+".finalstateprong", totsize, policy),
2888  interaction(tr, prefix+".interaction", totsize, policy),
2889  lepenergy(tr, prefix+".lepenergy", totsize, policy),
2890  nuenergy(tr, prefix+".nuenergy", totsize, policy),
2891  parent(tr, prefix+".parent", totsize, policy),
2892  particles(tr, prefix+".particles", totsize, policy),
2893  vtxx(tr, prefix+".vtxx", totsize, policy),
2894  vtxy(tr, prefix+".vtxy", totsize, policy),
2895  vtxz(tr, prefix+".vtxz", totsize, policy)
2896 {
2897 }
2898 
2900 {
2901  finalstate.Fill(sr.finalstate);
2902  finalstateprong.Fill(sr.finalstateprong);
2903  interaction.Fill(sr.interaction);
2904  lepenergy.Fill(sr.lepenergy);
2905  nuenergy.Fill(sr.nuenergy);
2906  parent.Fill(sr.parent);
2907  particles.Fill(sr.particles);
2908  vtxx.Fill(sr.vtxx);
2909  vtxy.Fill(sr.vtxy);
2910  vtxz.Fill(sr.vtxz);
2911 }
2912 
2914 {
2915  finalstate.Clear();
2916  finalstateprong.Clear();
2917  interaction.Clear();
2918  lepenergy.Clear();
2919  nuenergy.Clear();
2920  parent.Clear();
2921  particles.Clear();
2922  vtxx.Clear();
2923  vtxy.Clear();
2924  vtxz.Clear();
2925 }
2926 
2928  cvnfeatures(tr, prefix+".cvnfeatures", totsize, policy),
2929  cvnmaps(tr, prefix+".cvnmaps", totsize, policy),
2930  cvnmapsfilled(tr, prefix+".cvnmapsfilled", totsize, policy),
2931  slicemaps(tr, prefix+".slicemaps", totsize, policy),
2932  trainingdata(tr, prefix+".trainingdata", totsize, policy)
2933 {
2934 }
2935 
2937 {
2938  cvnfeatures.Fill(sr.cvnfeatures);
2939  cvnmaps.Fill(sr.cvnmaps);
2940  cvnmapsfilled.Fill(sr.cvnmapsfilled);
2941  slicemaps.Fill(sr.slicemaps);
2942  trainingdata.Fill(sr.trainingdata);
2943 }
2944 
2946 {
2947  cvnfeatures.Clear();
2948  cvnmaps.Clear();
2949  cvnmapsfilled.Clear();
2950  slicemaps.Clear();
2951  trainingdata.Clear();
2952 }
2953 
2954 flat::Flat<caf::SRShower>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
2955  calE(tr, prefix+".calE", totsize, policy),
2956  dir(tr, prefix+".dir", totsize, policy),
2957  gap(tr, prefix+".gap", totsize, policy),
2958  len(tr, prefix+".len", totsize, policy),
2959  maxplanecont(tr, prefix+".maxplanecont", totsize, policy),
2960  maxplanegap(tr, prefix+".maxplanegap", totsize, policy),
2961  nhit(tr, prefix+".nhit", totsize, policy),
2962  nhitx(tr, prefix+".nhitx", totsize, policy),
2963  nhity(tr, prefix+".nhity", totsize, policy),
2964  nplane(tr, prefix+".nplane", totsize, policy),
2965  nplanex(tr, prefix+".nplanex", totsize, policy),
2966  nplaney(tr, prefix+".nplaney", totsize, policy),
2967  start(tr, prefix+".start", totsize, policy),
2968  stop(tr, prefix+".stop", totsize, policy),
2969  truth(tr, prefix+".truth", totsize, policy),
2970  truthXView(tr, prefix+".truthXView", totsize, policy),
2971  truthYView(tr, prefix+".truthYView", totsize, policy),
2972  view(tr, prefix+".view", totsize, policy),
2973  width(tr, prefix+".width", totsize, policy)
2974 {
2975 }
2976 
2978 {
2979  calE.Fill(sr.calE);
2980  dir.Fill(sr.dir);
2981  gap.Fill(sr.gap);
2982  len.Fill(sr.len);
2983  maxplanecont.Fill(sr.maxplanecont);
2984  maxplanegap.Fill(sr.maxplanegap);
2985  nhit.Fill(sr.nhit);
2986  nhitx.Fill(sr.nhitx);
2987  nhity.Fill(sr.nhity);
2988  nplane.Fill(sr.nplane);
2989  nplanex.Fill(sr.nplanex);
2990  nplaney.Fill(sr.nplaney);
2991  start.Fill(sr.start);
2992  stop.Fill(sr.stop);
2993  truth.Fill(sr.truth);
2994  truthXView.Fill(sr.truthXView);
2995  truthYView.Fill(sr.truthYView);
2996  view.Fill(sr.view);
2997  width.Fill(sr.width);
2998 }
2999 
3001 {
3002  calE.Clear();
3003  dir.Clear();
3004  gap.Clear();
3005  len.Clear();
3006  maxplanecont.Clear();
3007  maxplanegap.Clear();
3008  nhit.Clear();
3009  nhitx.Clear();
3010  nhity.Clear();
3011  nplane.Clear();
3012  nplanex.Clear();
3013  nplaney.Clear();
3014  start.Clear();
3015  stop.Clear();
3016  truth.Clear();
3017  truthXView.Clear();
3018  truthYView.Clear();
3019  view.Clear();
3020  width.Clear();
3021 }
3022 
3023 flat::Flat<caf::SRSLid>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
3024  ann(tr, prefix+".ann", totsize, policy),
3025  anne(tr, prefix+".anne", totsize, policy),
3026  annecos(tr, prefix+".annecos", totsize, policy),
3027  annepi0(tr, prefix+".annepi0", totsize, policy),
3028  costheta(tr, prefix+".costheta", totsize, policy),
3029  dedx0(tr, prefix+".dedx0", totsize, policy),
3030  dedx1(tr, prefix+".dedx1", totsize, policy),
3031  dedx2(tr, prefix+".dedx2", totsize, policy),
3032  dedx3(tr, prefix+".dedx3", totsize, policy),
3033  dedx4(tr, prefix+".dedx4", totsize, policy),
3034  dedx5(tr, prefix+".dedx5", totsize, policy),
3035  dedxp0c0(tr, prefix+".dedxp0c0", totsize, policy),
3036  dedxp0c1(tr, prefix+".dedxp0c1", totsize, policy),
3037  dedxp1c0(tr, prefix+".dedxp1c0", totsize, policy),
3038  dedxp1c1(tr, prefix+".dedxp1c1", totsize, policy),
3039  dedxp2c0(tr, prefix+".dedxp2c0", totsize, policy),
3040  dedxp2c1(tr, prefix+".dedxp2c1", totsize, policy),
3041  dedxp3c0(tr, prefix+".dedxp3c0", totsize, policy),
3042  dedxp3c1(tr, prefix+".dedxp3c1", totsize, policy),
3043  dedxp4c0(tr, prefix+".dedxp4c0", totsize, policy),
3044  dedxp4c1(tr, prefix+".dedxp4c1", totsize, policy),
3045  dedxp5c0(tr, prefix+".dedxp5c0", totsize, policy),
3046  dedxp5c1(tr, prefix+".dedxp5c1", totsize, policy),
3047  eglll(tr, prefix+".eglll", totsize, policy),
3048  egllt(tr, prefix+".egllt", totsize, policy),
3049  elll(tr, prefix+".elll", totsize, policy),
3050  ellt(tr, prefix+".ellt", totsize, policy),
3051  emulll(tr, prefix+".emulll", totsize, policy),
3052  emullt(tr, prefix+".emullt", totsize, policy),
3053  enlll(tr, prefix+".enlll", totsize, policy),
3054  enllt(tr, prefix+".enllt", totsize, policy),
3055  epi0lll(tr, prefix+".epi0lll", totsize, policy),
3056  epi0llt(tr, prefix+".epi0llt", totsize, policy),
3057  epilll(tr, prefix+".epilll", totsize, policy),
3058  epillt(tr, prefix+".epillt", totsize, policy),
3059  eplll(tr, prefix+".eplll", totsize, policy),
3060  epllt(tr, prefix+".epllt", totsize, policy),
3061  gap(tr, prefix+".gap", totsize, policy),
3062  invglll(tr, prefix+".invglll", totsize, policy),
3063  ismuon(tr, prefix+".ismuon", totsize, policy),
3064  mulll(tr, prefix+".mulll", totsize, policy),
3065  mullt(tr, prefix+".mullt", totsize, policy),
3066  pi0mass(tr, prefix+".pi0mass", totsize, policy),
3067  shwEFrac(tr, prefix+".shwEFrac", totsize, policy),
3068  vtxgev(tr, prefix+".vtxgev", totsize, policy)
3069 {
3070 }
3071 
3073 {
3074  ann.Fill(sr.ann);
3075  anne.Fill(sr.anne);
3076  annecos.Fill(sr.annecos);
3077  annepi0.Fill(sr.annepi0);
3078  costheta.Fill(sr.costheta);
3079  dedx0.Fill(sr.dedx0);
3080  dedx1.Fill(sr.dedx1);
3081  dedx2.Fill(sr.dedx2);
3082  dedx3.Fill(sr.dedx3);
3083  dedx4.Fill(sr.dedx4);
3084  dedx5.Fill(sr.dedx5);
3085  dedxp0c0.Fill(sr.dedxp0c0);
3086  dedxp0c1.Fill(sr.dedxp0c1);
3087  dedxp1c0.Fill(sr.dedxp1c0);
3088  dedxp1c1.Fill(sr.dedxp1c1);
3089  dedxp2c0.Fill(sr.dedxp2c0);
3090  dedxp2c1.Fill(sr.dedxp2c1);
3091  dedxp3c0.Fill(sr.dedxp3c0);
3092  dedxp3c1.Fill(sr.dedxp3c1);
3093  dedxp4c0.Fill(sr.dedxp4c0);
3094  dedxp4c1.Fill(sr.dedxp4c1);
3095  dedxp5c0.Fill(sr.dedxp5c0);
3096  dedxp5c1.Fill(sr.dedxp5c1);
3097  eglll.Fill(sr.eglll);
3098  egllt.Fill(sr.egllt);
3099  elll.Fill(sr.elll);
3100  ellt.Fill(sr.ellt);
3101  emulll.Fill(sr.emulll);
3102  emullt.Fill(sr.emullt);
3103  enlll.Fill(sr.enlll);
3104  enllt.Fill(sr.enllt);
3105  epi0lll.Fill(sr.epi0lll);
3106  epi0llt.Fill(sr.epi0llt);
3107  epilll.Fill(sr.epilll);
3108  epillt.Fill(sr.epillt);
3109  eplll.Fill(sr.eplll);
3110  epllt.Fill(sr.epllt);
3111  gap.Fill(sr.gap);
3112  invglll.Fill(sr.invglll);
3113  ismuon.Fill(sr.ismuon);
3114  mulll.Fill(sr.mulll);
3115  mullt.Fill(sr.mullt);
3116  pi0mass.Fill(sr.pi0mass);
3117  shwEFrac.Fill(sr.shwEFrac);
3118  vtxgev.Fill(sr.vtxgev);
3119 }
3120 
3122 {
3123  ann.Clear();
3124  anne.Clear();
3125  annecos.Clear();
3126  annepi0.Clear();
3127  costheta.Clear();
3128  dedx0.Clear();
3129  dedx1.Clear();
3130  dedx2.Clear();
3131  dedx3.Clear();
3132  dedx4.Clear();
3133  dedx5.Clear();
3134  dedxp0c0.Clear();
3135  dedxp0c1.Clear();
3136  dedxp1c0.Clear();
3137  dedxp1c1.Clear();
3138  dedxp2c0.Clear();
3139  dedxp2c1.Clear();
3140  dedxp3c0.Clear();
3141  dedxp3c1.Clear();
3142  dedxp4c0.Clear();
3143  dedxp4c1.Clear();
3144  dedxp5c0.Clear();
3145  dedxp5c1.Clear();
3146  eglll.Clear();
3147  egllt.Clear();
3148  elll.Clear();
3149  ellt.Clear();
3150  emulll.Clear();
3151  emullt.Clear();
3152  enlll.Clear();
3153  enllt.Clear();
3154  epi0lll.Clear();
3155  epi0llt.Clear();
3156  epilll.Clear();
3157  epillt.Clear();
3158  eplll.Clear();
3159  epllt.Clear();
3160  gap.Clear();
3161  invglll.Clear();
3162  ismuon.Clear();
3163  mulll.Clear();
3164  mullt.Clear();
3165  pi0mass.Clear();
3166  shwEFrac.Clear();
3167  vtxgev.Clear();
3168 }
3169 
3170 flat::Flat<caf::SRShowerLID>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
3171  flat::Flat<caf::SRShower>(tr, prefix, totsize, policy),
3172  lid(tr, prefix+".lid", totsize, policy),
3173  lidE(tr, prefix+".lidE", totsize, policy),
3174  shwE(tr, prefix+".shwE", totsize, policy),
3175  vtxE(tr, prefix+".vtxE", totsize, policy)
3176 {
3177 }
3178 
3180 {
3182  lid.Fill(sr.lid);
3183  lidE.Fill(sr.lidE);
3184  shwE.Fill(sr.shwE);
3185  vtxE.Fill(sr.vtxE);
3186 }
3187 
3189 {
3191  lid.Clear();
3192  lidE.Clear();
3193  shwE.Clear();
3194  vtxE.Clear();
3195 }
3196 
3198  calE(tr, prefix+".calE", totsize, policy),
3199  cvnloosepreselptp(tr, prefix+".cvnloosepreselptp", totsize, policy),
3200  cvnnocosmics(tr, prefix+".cvnnocosmics", totsize, policy),
3201  cvnoldpresel(tr, prefix+".cvnoldpresel", totsize, policy),
3202  gap(tr, prefix+".gap", totsize, policy),
3203  isDiF(tr, prefix+".isDiF", totsize, policy),
3204  isShwDiF(tr, prefix+".isShwDiF", totsize, policy),
3205  lid(tr, prefix+".lid", totsize, policy),
3206  maxplane(tr, prefix+".maxplane", totsize, policy),
3207  maxplanecont(tr, prefix+".maxplanecont", totsize, policy),
3208  maxplanegap(tr, prefix+".maxplanegap", totsize, policy),
3209  minplane(tr, prefix+".minplane", totsize, policy),
3210  nhit(tr, prefix+".nhit", totsize, policy),
3211  nhitx(tr, prefix+".nhitx", totsize, policy),
3212  nhity(tr, prefix+".nhity", totsize, policy),
3213  nplane(tr, prefix+".nplane", totsize, policy),
3214  nplanex(tr, prefix+".nplanex", totsize, policy),
3215  nplaney(tr, prefix+".nplaney", totsize, policy),
3216  truth(tr, prefix+".truth", totsize, policy),
3217  truthXView(tr, prefix+".truthXView", totsize, policy),
3218  truthYView(tr, prefix+".truthYView", totsize, policy),
3219  view(tr, prefix+".view", totsize, policy)
3220 {
3221 }
3222 
3224 {
3225  calE.Fill(sr.calE);
3226  cvnloosepreselptp.Fill(sr.cvnloosepreselptp);
3227  cvnnocosmics.Fill(sr.cvnnocosmics);
3228  cvnoldpresel.Fill(sr.cvnoldpresel);
3229  gap.Fill(sr.gap);
3230  isDiF.Fill(sr.isDiF);
3231  isShwDiF.Fill(sr.isShwDiF);
3232  lid.Fill(sr.lid);
3233  maxplane.Fill(sr.maxplane);
3234  maxplanecont.Fill(sr.maxplanecont);
3235  maxplanegap.Fill(sr.maxplanegap);
3236  minplane.Fill(sr.minplane);
3237  nhit.Fill(sr.nhit);
3238  nhitx.Fill(sr.nhitx);
3239  nhity.Fill(sr.nhity);
3240  nplane.Fill(sr.nplane);
3241  nplanex.Fill(sr.nplanex);
3242  nplaney.Fill(sr.nplaney);
3243  truth.Fill(sr.truth);
3244  truthXView.Fill(sr.truthXView);
3245  truthYView.Fill(sr.truthYView);
3246  view.Fill(sr.view);
3247 }
3248 
3250 {
3251  calE.Clear();
3252  cvnloosepreselptp.Clear();
3253  cvnnocosmics.Clear();
3254  cvnoldpresel.Clear();
3255  gap.Clear();
3256  isDiF.Clear();
3257  isShwDiF.Clear();
3258  lid.Clear();
3259  maxplane.Clear();
3260  maxplanecont.Clear();
3261  maxplanegap.Clear();
3262  minplane.Clear();
3263  nhit.Clear();
3264  nhitx.Clear();
3265  nhity.Clear();
3266  nplane.Clear();
3267  nplanex.Clear();
3268  nplaney.Clear();
3269  truth.Clear();
3270  truthXView.Clear();
3271  truthYView.Clear();
3272  view.Clear();
3273 }
3274 
3275 flat::Flat<caf::SRTrack>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
3276  avedEdxlast10cm(tr, prefix+".avedEdxlast10cm", totsize, policy),
3277  avedEdxlast20cm(tr, prefix+".avedEdxlast20cm", totsize, policy),
3278  avedEdxlast30cm(tr, prefix+".avedEdxlast30cm", totsize, policy),
3279  avedEdxlast40cm(tr, prefix+".avedEdxlast40cm", totsize, policy),
3280  calE(tr, prefix+".calE", totsize, policy),
3281  dir(tr, prefix+".dir", totsize, policy),
3282  enddist(tr, prefix+".enddist", totsize, policy),
3283  len(tr, prefix+".len", totsize, policy),
3284  lenE(tr, prefix+".lenE", totsize, policy),
3285  leninact(tr, prefix+".leninact", totsize, policy),
3286  lenincat(tr, prefix+".lenincat", totsize, policy),
3287  maxplanecont(tr, prefix+".maxplanecont", totsize, policy),
3288  maxplanegap(tr, prefix+".maxplanegap", totsize, policy),
3289  maxtime(tr, prefix+".maxtime", totsize, policy),
3290  me(tr, prefix+".me", totsize, policy),
3291  meantime(tr, prefix+".meantime", totsize, policy),
3292  meantimeRes(tr, prefix+".meantimeRes", totsize, policy),
3293  mintime(tr, prefix+".mintime", totsize, policy),
3294  mrbrem(tr, prefix+".mrbrem", totsize, policy),
3295  mrdif(tr, prefix+".mrdif", totsize, policy),
3296  nhit(tr, prefix+".nhit", totsize, policy),
3297  nhitx(tr, prefix+".nhitx", totsize, policy),
3298  nhity(tr, prefix+".nhity", totsize, policy),
3299  nplane(tr, prefix+".nplane", totsize, policy),
3300  nplanegap(tr, prefix+".nplanegap", totsize, policy),
3301  overlapE(tr, prefix+".overlapE", totsize, policy),
3302  pngmaxx(tr, prefix+".pngmaxx", totsize, policy),
3303  pngmaxy(tr, prefix+".pngmaxy", totsize, policy),
3304  pngminx(tr, prefix+".pngminx", totsize, policy),
3305  pngminy(tr, prefix+".pngminy", totsize, policy),
3306  start(tr, prefix+".start", totsize, policy),
3307  stop(tr, prefix+".stop", totsize, policy),
3308  stopdir(tr, prefix+".stopdir", totsize, policy),
3309  trkbakair(tr, prefix+".trkbakair", totsize, policy),
3310  trkbakcell(tr, prefix+".trkbakcell", totsize, policy),
3311  trkbakcellnd(tr, prefix+".trkbakcellnd", totsize, policy),
3312  trkbakdist(tr, prefix+".trkbakdist", totsize, policy),
3313  trkbaksteel(tr, prefix+".trkbaksteel", totsize, policy),
3314  trkfwdair(tr, prefix+".trkfwdair", totsize, policy),
3315  trkfwdcell(tr, prefix+".trkfwdcell", totsize, policy),
3316  trkfwdcellnd(tr, prefix+".trkfwdcellnd", totsize, policy),
3317  trkfwddist(tr, prefix+".trkfwddist", totsize, policy),
3318  trkfwdsteel(tr, prefix+".trkfwdsteel", totsize, policy),
3319  trkyposattrans(tr, prefix+".trkyposattrans", totsize, policy),
3320  truth(tr, prefix+".truth", totsize, policy),
3321  truthXView(tr, prefix+".truthXView", totsize, policy),
3322  truthYView(tr, prefix+".truthYView", totsize, policy),
3323  view(tr, prefix+".view", totsize, policy),
3324  vtxdist(tr, prefix+".vtxdist", totsize, policy)
3325 {
3326 }
3327 
3329 {
3330  avedEdxlast10cm.Fill(sr.avedEdxlast10cm);
3331  avedEdxlast20cm.Fill(sr.avedEdxlast20cm);
3332  avedEdxlast30cm.Fill(sr.avedEdxlast30cm);
3333  avedEdxlast40cm.Fill(sr.avedEdxlast40cm);
3334  calE.Fill(sr.calE);
3335  dir.Fill(sr.dir);
3336  enddist.Fill(sr.enddist);
3337  len.Fill(sr.len);
3338  lenE.Fill(sr.lenE);
3339  leninact.Fill(sr.leninact);
3340  lenincat.Fill(sr.lenincat);
3341  maxplanecont.Fill(sr.maxplanecont);
3342  maxplanegap.Fill(sr.maxplanegap);
3343  maxtime.Fill(sr.maxtime);
3344  me.Fill(sr.me);
3345  meantime.Fill(sr.meantime);
3346  meantimeRes.Fill(sr.meantimeRes);
3347  mintime.Fill(sr.mintime);
3348  mrbrem.Fill(sr.mrbrem);
3349  mrdif.Fill(sr.mrdif);
3350  nhit.Fill(sr.nhit);
3351  nhitx.Fill(sr.nhitx);
3352  nhity.Fill(sr.nhity);
3353  nplane.Fill(sr.nplane);
3354  nplanegap.Fill(sr.nplanegap);
3355  overlapE.Fill(sr.overlapE);
3356  pngmaxx.Fill(sr.pngmaxx);
3357  pngmaxy.Fill(sr.pngmaxy);
3358  pngminx.Fill(sr.pngminx);
3359  pngminy.Fill(sr.pngminy);
3360  start.Fill(sr.start);
3361  stop.Fill(sr.stop);
3362  stopdir.Fill(sr.stopdir);
3363  trkbakair.Fill(sr.trkbakair);
3364  trkbakcell.Fill(sr.trkbakcell);
3365  trkbakcellnd.Fill(sr.trkbakcellnd);
3366  trkbakdist.Fill(sr.trkbakdist);
3367  trkbaksteel.Fill(sr.trkbaksteel);
3368  trkfwdair.Fill(sr.trkfwdair);
3369  trkfwdcell.Fill(sr.trkfwdcell);
3370  trkfwdcellnd.Fill(sr.trkfwdcellnd);
3371  trkfwddist.Fill(sr.trkfwddist);
3372  trkfwdsteel.Fill(sr.trkfwdsteel);
3373  trkyposattrans.Fill(sr.trkyposattrans);
3374  truth.Fill(sr.truth);
3375  truthXView.Fill(sr.truthXView);
3376  truthYView.Fill(sr.truthYView);
3377  view.Fill(sr.view);
3378  vtxdist.Fill(sr.vtxdist);
3379 }
3380 
3382 {
3383  avedEdxlast10cm.Clear();
3384  avedEdxlast20cm.Clear();
3385  avedEdxlast30cm.Clear();
3386  avedEdxlast40cm.Clear();
3387  calE.Clear();
3388  dir.Clear();
3389  enddist.Clear();
3390  len.Clear();
3391  lenE.Clear();
3392  leninact.Clear();
3393  lenincat.Clear();
3394  maxplanecont.Clear();
3395  maxplanegap.Clear();
3396  maxtime.Clear();
3397  me.Clear();
3398  meantime.Clear();
3399  meantimeRes.Clear();
3400  mintime.Clear();
3401  mrbrem.Clear();
3402  mrdif.Clear();
3403  nhit.Clear();
3404  nhitx.Clear();
3405  nhity.Clear();
3406  nplane.Clear();
3407  nplanegap.Clear();
3408  overlapE.Clear();
3409  pngmaxx.Clear();
3410  pngmaxy.Clear();
3411  pngminx.Clear();
3412  pngminy.Clear();
3413  start.Clear();
3414  stop.Clear();
3415  stopdir.Clear();
3416  trkbakair.Clear();
3417  trkbakcell.Clear();
3418  trkbakcellnd.Clear();
3419  trkbakdist.Clear();
3420  trkbaksteel.Clear();
3421  trkfwdair.Clear();
3422  trkfwdcell.Clear();
3423  trkfwdcellnd.Clear();
3424  trkfwddist.Clear();
3425  trkfwdsteel.Clear();
3426  trkyposattrans.Clear();
3427  truth.Clear();
3428  truthXView.Clear();
3429  truthYView.Clear();
3430  view.Clear();
3431  vtxdist.Clear();
3432 }
3433 
3434 flat::Flat<caf::SRTrackBase>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
3435  ntracks(tr, prefix+".ntracks", totsize, policy),
3436  tracks(tr, prefix+".tracks", totsize, policy)
3437 {
3438 }
3439 
3441 {
3442  ntracks.Fill(sr.ntracks);
3443  tracks.Fill(sr.tracks);
3444 }
3445 
3447 {
3448  ntracks.Clear();
3449  tracks.Clear();
3450 }
3451 
3452 flat::Flat<caf::SRKalmanTrack>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
3453  flat::Flat<caf::SRTrack>(tr, prefix, totsize, policy),
3454  activity15(tr, prefix+".activity15", totsize, policy),
3455  activity30(tr, prefix+".activity30", totsize, policy),
3456  activity45(tr, prefix+".activity45", totsize, policy),
3457  dedx15(tr, prefix+".dedx15", totsize, policy),
3458  dedx30(tr, prefix+".dedx30", totsize, policy),
3459  dedxllh(tr, prefix+".dedxllh", totsize, policy),
3460  measfrac(tr, prefix+".measfrac", totsize, policy),
3461  muonid(tr, prefix+".muonid", totsize, policy),
3462  mvapiE(tr, prefix+".mvapiE", totsize, policy),
3463  prox15(tr, prefix+".prox15", totsize, policy),
3464  prox30(tr, prefix+".prox30", totsize, policy),
3465  remavededx(tr, prefix+".remavededx", totsize, policy),
3466  remcont(tr, prefix+".remcont", totsize, policy),
3467  rempid(tr, prefix+".rempid", totsize, policy),
3468  scatllh(tr, prefix+".scatllh", totsize, policy),
3469  scatt15(tr, prefix+".scatt15", totsize, policy),
3470  scatt30(tr, prefix+".scatt30", totsize, policy)
3471 {
3472 }
3473 
3475 {
3477  activity15.Fill(sr.activity15);
3478  activity30.Fill(sr.activity30);
3479  activity45.Fill(sr.activity45);
3480  dedx15.Fill(sr.dedx15);
3481  dedx30.Fill(sr.dedx30);
3482  dedxllh.Fill(sr.dedxllh);
3483  measfrac.Fill(sr.measfrac);
3484  muonid.Fill(sr.muonid);
3485  mvapiE.Fill(sr.mvapiE);
3486  prox15.Fill(sr.prox15);
3487  prox30.Fill(sr.prox30);
3488  remavededx.Fill(sr.remavededx);
3489  remcont.Fill(sr.remcont);
3490  rempid.Fill(sr.rempid);
3491  scatllh.Fill(sr.scatllh);
3492  scatt15.Fill(sr.scatt15);
3493  scatt30.Fill(sr.scatt30);
3494 }
3495 
3497 {
3499  activity15.Clear();
3500  activity30.Clear();
3501  activity45.Clear();
3502  dedx15.Clear();
3503  dedx30.Clear();
3504  dedxllh.Clear();
3505  measfrac.Clear();
3506  muonid.Clear();
3507  mvapiE.Clear();
3508  prox15.Clear();
3509  prox30.Clear();
3510  remavededx.Clear();
3511  remcont.Clear();
3512  rempid.Clear();
3513  scatllh.Clear();
3514  scatt15.Clear();
3515  scatt30.Clear();
3516 }
3517 
3518 flat::Flat<caf::SRKalman>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
3519  idxlongest(tr, prefix+".idxlongest", totsize, policy),
3520  idxmuonid(tr, prefix+".idxmuonid", totsize, policy),
3521  idxremid(tr, prefix+".idxremid", totsize, policy),
3522  ntracks(tr, prefix+".ntracks", totsize, policy),
3523  ntracks2d(tr, prefix+".ntracks2d", totsize, policy),
3524  tracks(tr, prefix+".tracks", totsize, policy),
3525  tracks2d(tr, prefix+".tracks2d", totsize, policy)
3526 {
3527 }
3528 
3530 {
3531  idxlongest.Fill(sr.idxlongest);
3532  idxmuonid.Fill(sr.idxmuonid);
3533  idxremid.Fill(sr.idxremid);
3534  ntracks.Fill(sr.ntracks);
3535  ntracks2d.Fill(sr.ntracks2d);
3536  tracks.Fill(sr.tracks);
3537  tracks2d.Fill(sr.tracks2d);
3538 }
3539 
3541 {
3542  idxlongest.Clear();
3543  idxmuonid.Clear();
3544  idxremid.Clear();
3545  ntracks.Clear();
3546  ntracks2d.Clear();
3547  tracks.Clear();
3548  tracks2d.Clear();
3549 }
3550 
3551 flat::Flat<caf::SRTrackBranch>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
3552  cosmic(tr, prefix+".cosmic", totsize, policy),
3553  discrete(tr, prefix+".discrete", totsize, policy),
3554  kalman(tr, prefix+".kalman", totsize, policy),
3555  window(tr, prefix+".window", totsize, policy)
3556 {
3557 }
3558 
3560 {
3561  cosmic.Fill(sr.cosmic);
3562  discrete.Fill(sr.discrete);
3563  kalman.Fill(sr.kalman);
3564  window.Fill(sr.window);
3565 }
3566 
3568 {
3569  cosmic.Clear();
3570  discrete.Clear();
3571  kalman.Clear();
3572  window.Clear();
3573 }
3574 
3575 flat::Flat<caf::SRPixelMap>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
3576  cvnmap(tr, prefix+".cvnmap", totsize, policy),
3577  firstcellx(tr, prefix+".firstcellx", totsize, policy),
3578  firstcelly(tr, prefix+".firstcelly", totsize, policy),
3579  firstplane(tr, prefix+".firstplane", totsize, policy),
3580  hitfracx(tr, prefix+".hitfracx", totsize, policy),
3581  hitfracy(tr, prefix+".hitfracy", totsize, policy),
3582  lastcellx(tr, prefix+".lastcellx", totsize, policy),
3583  lastcelly(tr, prefix+".lastcelly", totsize, policy),
3584  lastplane(tr, prefix+".lastplane", totsize, policy),
3585  ncells(tr, prefix+".ncells", totsize, policy),
3586  nchan(tr, prefix+".nchan", totsize, policy),
3587  nplanes(tr, prefix+".nplanes", totsize, policy)
3588 {
3589 }
3590 
3592 {
3593  cvnmap.Fill(sr.cvnmap);
3594  firstcellx.Fill(sr.firstcellx);
3595  firstcelly.Fill(sr.firstcelly);
3596  firstplane.Fill(sr.firstplane);
3597  hitfracx.Fill(sr.hitfracx);
3598  hitfracy.Fill(sr.hitfracy);
3599  lastcellx.Fill(sr.lastcellx);
3600  lastcelly.Fill(sr.lastcelly);
3601  lastplane.Fill(sr.lastplane);
3602  ncells.Fill(sr.ncells);
3603  nchan.Fill(sr.nchan);
3604  nplanes.Fill(sr.nplanes);
3605 }
3606 
3608 {
3609  cvnmap.Clear();
3610  firstcellx.Clear();
3611  firstcelly.Clear();
3612  firstplane.Clear();
3613  hitfracx.Clear();
3614  hitfracy.Clear();
3615  lastcellx.Clear();
3616  lastcelly.Clear();
3617  lastplane.Clear();
3618  ncells.Clear();
3619  nchan.Clear();
3620  nplanes.Clear();
3621 }
3622 
3624  otherid(tr, prefix+".otherid", totsize, policy),
3625  photonid(tr, prefix+".photonid", totsize, policy),
3626  protonid(tr, prefix+".protonid", totsize, policy)
3627 {
3628 }
3629 
3631 {
3632  otherid.Fill(sr.otherid);
3633  photonid.Fill(sr.photonid);
3634  protonid.Fill(sr.protonid);
3635 }
3636 
3638 {
3639  otherid.Clear();
3640  photonid.Clear();
3641  protonid.Clear();
3642 }
3643 
3645  electronid(tr, prefix+".electronid", totsize, policy),
3646  emid(tr, prefix+".emid", totsize, policy),
3647  hadronid(tr, prefix+".hadronid", totsize, policy),
3648  maxval(tr, prefix+".maxval", totsize, policy),
3649  muonid(tr, prefix+".muonid", totsize, policy),
3650  neutronid(tr, prefix+".neutronid", totsize, policy),
3651  otherid(tr, prefix+".otherid", totsize, policy),
3652  pdgmax(tr, prefix+".pdgmax", totsize, policy),
3653  photonid(tr, prefix+".photonid", totsize, policy),
3654  pionid(tr, prefix+".pionid", totsize, policy),
3655  pizeroid(tr, prefix+".pizeroid", totsize, policy),
3656  protonid(tr, prefix+".protonid", totsize, policy)
3657 {
3658 }
3659 
3661 {
3662  electronid.Fill(sr.electronid);
3663  emid.Fill(sr.emid);
3664  hadronid.Fill(sr.hadronid);
3665  maxval.Fill(sr.maxval);
3666  muonid.Fill(sr.muonid);
3667  neutronid.Fill(sr.neutronid);
3668  otherid.Fill(sr.otherid);
3669  pdgmax.Fill(sr.pdgmax);
3670  photonid.Fill(sr.photonid);
3671  pionid.Fill(sr.pionid);
3672  pizeroid.Fill(sr.pizeroid);
3673  protonid.Fill(sr.protonid);
3674 }
3675 
3677 {
3678  electronid.Clear();
3679  emid.Clear();
3680  hadronid.Clear();
3681  maxval.Clear();
3682  muonid.Clear();
3683  neutronid.Clear();
3684  otherid.Clear();
3685  pdgmax.Clear();
3686  photonid.Clear();
3687  pionid.Clear();
3688  pizeroid.Clear();
3689  protonid.Clear();
3690 }
3691 
3693  isprimary(tr, prefix+".isprimary", totsize, policy),
3694  label3d(tr, prefix+".label3d", totsize, policy),
3695  labelx(tr, prefix+".labelx", totsize, policy),
3696  labely(tr, prefix+".labely", totsize, policy),
3697  ncellx(tr, prefix+".ncellx", totsize, policy),
3698  ncelly(tr, prefix+".ncelly", totsize, policy),
3699  pangle(tr, prefix+".pangle", totsize, policy),
3700  pgap(tr, prefix+".pgap", totsize, policy),
3701  plength(tr, prefix+".plength", totsize, policy),
3702  purity3d(tr, prefix+".purity3d", totsize, policy),
3703  purityx(tr, prefix+".purityx", totsize, policy),
3704  purityy(tr, prefix+".purityy", totsize, policy),
3705  rece(tr, prefix+".rece", totsize, policy),
3706  vertx(tr, prefix+".vertx", totsize, policy),
3707  verty(tr, prefix+".verty", totsize, policy),
3708  vertz(tr, prefix+".vertz", totsize, policy)
3709 {
3710 }
3711 
3713 {
3714  isprimary.Fill(sr.isprimary);
3715  label3d.Fill(sr.label3d);
3716  labelx.Fill(sr.labelx);
3717  labely.Fill(sr.labely);
3718  ncellx.Fill(sr.ncellx);
3719  ncelly.Fill(sr.ncelly);
3720  pangle.Fill(sr.pangle);
3721  pgap.Fill(sr.pgap);
3722  plength.Fill(sr.plength);
3723  purity3d.Fill(sr.purity3d);
3724  purityx.Fill(sr.purityx);
3725  purityy.Fill(sr.purityy);
3726  rece.Fill(sr.rece);
3727  vertx.Fill(sr.vertx);
3728  verty.Fill(sr.verty);
3729  vertz.Fill(sr.vertz);
3730 }
3731 
3733 {
3734  isprimary.Clear();
3735  label3d.Clear();
3736  labelx.Clear();
3737  labely.Clear();
3738  ncellx.Clear();
3739  ncelly.Clear();
3740  pangle.Clear();
3741  pgap.Clear();
3742  plength.Clear();
3743  purity3d.Clear();
3744  purityx.Clear();
3745  purityy.Clear();
3746  rece.Clear();
3747  vertx.Clear();
3748  verty.Clear();
3749  vertz.Clear();
3750 }
3751 
3752 flat::Flat<caf::SRProng>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
3753  calE(tr, prefix+".calE", totsize, policy),
3754  cvnmaps(tr, prefix+".cvnmaps", totsize, policy),
3755  cvnneutron(tr, prefix+".cvnneutron", totsize, policy),
3756  cvnpart(tr, prefix+".cvnpart", totsize, policy),
3757  cvnpart_opphorn(tr, prefix+".cvnpart_opphorn", totsize, policy),
3758  dir(tr, prefix+".dir", totsize, policy),
3759  len(tr, prefix+".len", totsize, policy),
3760  maxplanecont(tr, prefix+".maxplanecont", totsize, policy),
3761  maxplanegap(tr, prefix+".maxplanegap", totsize, policy),
3762  maxtime(tr, prefix+".maxtime", totsize, policy),
3763  meantime(tr, prefix+".meantime", totsize, policy),
3764  meantimeRes(tr, prefix+".meantimeRes", totsize, policy),
3765  mintime(tr, prefix+".mintime", totsize, policy),
3766  nhit(tr, prefix+".nhit", totsize, policy),
3767  nhitx(tr, prefix+".nhitx", totsize, policy),
3768  nhity(tr, prefix+".nhity", totsize, policy),
3769  nplane(tr, prefix+".nplane", totsize, policy),
3770  pngmaxx(tr, prefix+".pngmaxx", totsize, policy),
3771  pngmaxy(tr, prefix+".pngmaxy", totsize, policy),
3772  pngminx(tr, prefix+".pngminx", totsize, policy),
3773  pngminy(tr, prefix+".pngminy", totsize, policy),
3774  prongtrainingdata(tr, prefix+".prongtrainingdata", totsize, policy),
3775  spprongcvnpart5label(tr, prefix+".spprongcvnpart5label", totsize, policy),
3776  spprongcvnpartnumuccemid(tr, prefix+".spprongcvnpartnumuccemid", totsize, policy),
3777  start(tr, prefix+".start", totsize, policy),
3778  truth(tr, prefix+".truth", totsize, policy),
3779  truthXView(tr, prefix+".truthXView", totsize, policy),
3780  truthYView(tr, prefix+".truthYView", totsize, policy),
3781  view(tr, prefix+".view", totsize, policy),
3782  weightedCalE(tr, prefix+".weightedCalE", totsize, policy)
3783 {
3784 }
3785 
3787 {
3788  calE.Fill(sr.calE);
3789  cvnmaps.Fill(sr.cvnmaps);
3790  cvnneutron.Fill(sr.cvnneutron);
3791  cvnpart.Fill(sr.cvnpart);
3792  cvnpart_opphorn.Fill(sr.cvnpart_opphorn);
3793  dir.Fill(sr.dir);
3794  len.Fill(sr.len);
3795  maxplanecont.Fill(sr.maxplanecont);
3796  maxplanegap.Fill(sr.maxplanegap);
3797  maxtime.Fill(sr.maxtime);
3798  meantime.Fill(sr.meantime);
3799  meantimeRes.Fill(sr.meantimeRes);
3800  mintime.Fill(sr.mintime);
3801  nhit.Fill(sr.nhit);
3802  nhitx.Fill(sr.nhitx);
3803  nhity.Fill(sr.nhity);
3804  nplane.Fill(sr.nplane);
3805  pngmaxx.Fill(sr.pngmaxx);
3806  pngmaxy.Fill(sr.pngmaxy);
3807  pngminx.Fill(sr.pngminx);
3808  pngminy.Fill(sr.pngminy);
3809  prongtrainingdata.Fill(sr.prongtrainingdata);
3810  spprongcvnpart5label.Fill(sr.spprongcvnpart5label);
3811  spprongcvnpartnumuccemid.Fill(sr.spprongcvnpartnumuccemid);
3812  start.Fill(sr.start);
3813  truth.Fill(sr.truth);
3814  truthXView.Fill(sr.truthXView);
3815  truthYView.Fill(sr.truthYView);
3816  view.Fill(sr.view);
3817  weightedCalE.Fill(sr.weightedCalE);
3818 }
3819 
3821 {
3822  calE.Clear();
3823  cvnmaps.Clear();
3824  cvnneutron.Clear();
3825  cvnpart.Clear();
3826  cvnpart_opphorn.Clear();
3827  dir.Clear();
3828  len.Clear();
3829  maxplanecont.Clear();
3830  maxplanegap.Clear();
3831  maxtime.Clear();
3832  meantime.Clear();
3833  meantimeRes.Clear();
3834  mintime.Clear();
3835  nhit.Clear();
3836  nhitx.Clear();
3837  nhity.Clear();
3838  nplane.Clear();
3839  pngmaxx.Clear();
3840  pngmaxy.Clear();
3841  pngminx.Clear();
3842  pngminy.Clear();
3843  prongtrainingdata.Clear();
3844  spprongcvnpart5label.Clear();
3845  spprongcvnpartnumuccemid.Clear();
3846  start.Clear();
3847  truth.Clear();
3848  truthXView.Clear();
3849  truthYView.Clear();
3850  view.Clear();
3851  weightedCalE.Clear();
3852 }
3853 
3854 flat::Flat<caf::SRBpfTrack>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
3855  flat::Flat<caf::SRTrack>(tr, prefix, totsize, policy),
3856  IsValid(tr, prefix+".IsValid", totsize, policy),
3857  activity15(tr, prefix+".activity15", totsize, policy),
3858  activity30(tr, prefix+".activity30", totsize, policy),
3859  activity45(tr, prefix+".activity45", totsize, policy),
3860  chi2Hit(tr, prefix+".chi2Hit", totsize, policy),
3861  chi2Scat(tr, prefix+".chi2Scat", totsize, policy),
3862  chi2T(tr, prefix+".chi2T", totsize, policy),
3863  dEdXLL(tr, prefix+".dEdXLL", totsize, policy),
3864  dedx15(tr, prefix+".dedx15", totsize, policy),
3865  dedx30(tr, prefix+".dedx30", totsize, policy),
3866  energy(tr, prefix+".energy", totsize, policy),
3867  hitRatio(tr, prefix+".hitRatio", totsize, policy),
3868  momentum(tr, prefix+".momentum", totsize, policy),
3869  mvapiE(tr, prefix+".mvapiE", totsize, policy),
3870  pdg(tr, prefix+".pdg", totsize, policy),
3871  pid(tr, prefix+".pid", totsize, policy),
3872  prox15(tr, prefix+".prox15", totsize, policy),
3873  prox30(tr, prefix+".prox30", totsize, policy),
3874  scatt15(tr, prefix+".scatt15", totsize, policy),
3875  scatt30(tr, prefix+".scatt30", totsize, policy)
3876 {
3877 }
3878 
3880 {
3882  IsValid.Fill(sr.IsValid);
3883  activity15.Fill(sr.activity15);
3884  activity30.Fill(sr.activity30);
3885  activity45.Fill(sr.activity45);
3886  chi2Hit.Fill(sr.chi2Hit);
3887  chi2Scat.Fill(sr.chi2Scat);
3888  chi2T.Fill(sr.chi2T);
3889  dEdXLL.Fill(sr.dEdXLL);
3890  dedx15.Fill(sr.dedx15);
3891  dedx30.Fill(sr.dedx30);
3892  energy.Fill(sr.energy);
3893  hitRatio.Fill(sr.hitRatio);
3894  momentum.Fill(sr.momentum);
3895  mvapiE.Fill(sr.mvapiE);
3896  pdg.Fill(sr.pdg);
3897  pid.Fill(sr.pid);
3898  prox15.Fill(sr.prox15);
3899  prox30.Fill(sr.prox30);
3900  scatt15.Fill(sr.scatt15);
3901  scatt30.Fill(sr.scatt30);
3902 }
3903 
3905 {
3907  IsValid.Clear();
3908  activity15.Clear();
3909  activity30.Clear();
3910  activity45.Clear();
3911  chi2Hit.Clear();
3912  chi2Scat.Clear();
3913  chi2T.Clear();
3914  dEdXLL.Clear();
3915  dedx15.Clear();
3916  dedx30.Clear();
3917  energy.Clear();
3918  hitRatio.Clear();
3919  momentum.Clear();
3920  mvapiE.Clear();
3921  pdg.Clear();
3922  pid.Clear();
3923  prox15.Clear();
3924  prox30.Clear();
3925  scatt15.Clear();
3926  scatt30.Clear();
3927 }
3928 
3929 flat::Flat<caf::SRBpf>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
3930  muon(tr, prefix+".muon", totsize, policy),
3931  pion(tr, prefix+".pion", totsize, policy),
3932  proton(tr, prefix+".proton", totsize, policy)
3933 {
3934 }
3935 
3937 {
3938  muon.Fill(sr.muon);
3939  pion.Fill(sr.pion);
3940  proton.Fill(sr.proton);
3941 }
3942 
3944 {
3945  muon.Clear();
3946  pion.Clear();
3947  proton.Clear();
3948 }
3949 
3951  prongE(tr, prefix+".prongE", totsize, policy)
3952 {
3953 }
3954 
3956 {
3957  prongE.Fill(sr.prongE);
3958 }
3959 
3961 {
3962  prongE.Clear();
3963 }
3964 
3965 flat::Flat<caf::SRFuzzyKProng>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
3966  flat::Flat<caf::SRProng>(tr, prefix, totsize, policy),
3967  activity15(tr, prefix+".activity15", totsize, policy),
3968  activity30(tr, prefix+".activity30", totsize, policy),
3969  activity45(tr, prefix+".activity45", totsize, policy),
3970  bpf(tr, prefix+".bpf", totsize, policy),
3971  dedx15(tr, prefix+".dedx15", totsize, policy),
3972  dedx30(tr, prefix+".dedx30", totsize, policy),
3973  mvapiE(tr, prefix+".mvapiE", totsize, policy),
3974  prox15(tr, prefix+".prox15", totsize, policy),
3975  prox30(tr, prefix+".prox30", totsize, policy),
3976  regcvn(tr, prefix+".regcvn", totsize, policy),
3977  shwlid(tr, prefix+".shwlid", totsize, policy)
3978 {
3979 }
3980 
3982 {
3984  activity15.Fill(sr.activity15);
3985  activity30.Fill(sr.activity30);
3986  activity45.Fill(sr.activity45);
3987  bpf.Fill(sr.bpf);
3988  dedx15.Fill(sr.dedx15);
3989  dedx30.Fill(sr.dedx30);
3990  mvapiE.Fill(sr.mvapiE);
3991  prox15.Fill(sr.prox15);
3992  prox30.Fill(sr.prox30);
3993  regcvn.Fill(sr.regcvn);
3994  shwlid.Fill(sr.shwlid);
3995 }
3996 
3998 {
4000  activity15.Clear();
4001  activity30.Clear();
4002  activity45.Clear();
4003  bpf.Clear();
4004  dedx15.Clear();
4005  dedx30.Clear();
4006  mvapiE.Clear();
4007  prox15.Clear();
4008  prox30.Clear();
4009  regcvn.Clear();
4010  shwlid.Clear();
4011 }
4012 
4013 flat::Flat<caf::SRFuzzyK>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
4014  longestidx(tr, prefix+".longestidx", totsize, policy),
4015  npng(tr, prefix+".npng", totsize, policy),
4016  npng2d(tr, prefix+".npng2d", totsize, policy),
4017  nshwlid(tr, prefix+".nshwlid", totsize, policy),
4018  ntot(tr, prefix+".ntot", totsize, policy),
4019  orphCalE(tr, prefix+".orphCalE", totsize, policy),
4020  png(tr, prefix+".png", totsize, policy),
4021  png2d(tr, prefix+".png2d", totsize, policy)
4022 {
4023 }
4024 
4026 {
4027  longestidx.Fill(sr.longestidx);
4028  npng.Fill(sr.npng);
4029  npng2d.Fill(sr.npng2d);
4030  nshwlid.Fill(sr.nshwlid);
4031  ntot.Fill(sr.ntot);
4032  orphCalE.Fill(sr.orphCalE);
4033  png.Fill(sr.png);
4034  png2d.Fill(sr.png2d);
4035 }
4036 
4038 {
4039  longestidx.Clear();
4040  npng.Clear();
4041  npng2d.Clear();
4042  nshwlid.Clear();
4043  ntot.Clear();
4044  orphCalE.Clear();
4045  png.Clear();
4046  png2d.Clear();
4047 }
4048 
4049 flat::Flat<caf::SRElastic>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
4050  IsValid(tr, prefix+".IsValid", totsize, policy),
4051  fuzzyk(tr, prefix+".fuzzyk", totsize, policy),
4052  prong2dvertexenergyvolume10(tr, prefix+".prong2dvertexenergyvolume10", totsize, policy),
4053  prong2dvertexenergyvolume20(tr, prefix+".prong2dvertexenergyvolume20", totsize, policy),
4054  prong2dvertexenergyvolume30(tr, prefix+".prong2dvertexenergyvolume30", totsize, policy),
4055  prong2dvertexenergyvolume40(tr, prefix+".prong2dvertexenergyvolume40", totsize, policy),
4056  prong3dvertexenergyvolume10(tr, prefix+".prong3dvertexenergyvolume10", totsize, policy),
4057  prong3dvertexenergyvolume20(tr, prefix+".prong3dvertexenergyvolume20", totsize, policy),
4058  prong3dvertexenergyvolume30(tr, prefix+".prong3dvertexenergyvolume30", totsize, policy),
4059  prong3dvertexenergyvolume40(tr, prefix+".prong3dvertexenergyvolume40", totsize, policy),
4060  slicevertexenergyvolume10(tr, prefix+".slicevertexenergyvolume10", totsize, policy),
4061  slicevertexenergyvolume20(tr, prefix+".slicevertexenergyvolume20", totsize, policy),
4062  slicevertexenergyvolume30(tr, prefix+".slicevertexenergyvolume30", totsize, policy),
4063  slicevertexenergyvolume40(tr, prefix+".slicevertexenergyvolume40", totsize, policy),
4064  time(tr, prefix+".time", totsize, policy),
4065  vtx(tr, prefix+".vtx", totsize, policy)
4066 {
4067 }
4068 
4070 {
4071  IsValid.Fill(sr.IsValid);
4072  fuzzyk.Fill(sr.fuzzyk);
4073  prong2dvertexenergyvolume10.Fill(sr.prong2dvertexenergyvolume10);
4074  prong2dvertexenergyvolume20.Fill(sr.prong2dvertexenergyvolume20);
4075  prong2dvertexenergyvolume30.Fill(sr.prong2dvertexenergyvolume30);
4076  prong2dvertexenergyvolume40.Fill(sr.prong2dvertexenergyvolume40);
4077  prong3dvertexenergyvolume10.Fill(sr.prong3dvertexenergyvolume10);
4078  prong3dvertexenergyvolume20.Fill(sr.prong3dvertexenergyvolume20);
4079  prong3dvertexenergyvolume30.Fill(sr.prong3dvertexenergyvolume30);
4080  prong3dvertexenergyvolume40.Fill(sr.prong3dvertexenergyvolume40);
4081  slicevertexenergyvolume10.Fill(sr.slicevertexenergyvolume10);
4082  slicevertexenergyvolume20.Fill(sr.slicevertexenergyvolume20);
4083  slicevertexenergyvolume30.Fill(sr.slicevertexenergyvolume30);
4084  slicevertexenergyvolume40.Fill(sr.slicevertexenergyvolume40);
4085  time.Fill(sr.time);
4086  vtx.Fill(sr.vtx);
4087 }
4088 
4090 {
4091  IsValid.Clear();
4092  fuzzyk.Clear();
4093  prong2dvertexenergyvolume10.Clear();
4094  prong2dvertexenergyvolume20.Clear();
4095  prong2dvertexenergyvolume30.Clear();
4096  prong2dvertexenergyvolume40.Clear();
4097  prong3dvertexenergyvolume10.Clear();
4098  prong3dvertexenergyvolume20.Clear();
4099  prong3dvertexenergyvolume30.Clear();
4100  prong3dvertexenergyvolume40.Clear();
4101  slicevertexenergyvolume10.Clear();
4102  slicevertexenergyvolume20.Clear();
4103  slicevertexenergyvolume30.Clear();
4104  slicevertexenergyvolume40.Clear();
4105  time.Clear();
4106  vtx.Clear();
4107 }
4108 
4109 flat::Flat<caf::SRHoughVertex>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
4110  fuzzyk(tr, prefix+".fuzzyk", totsize, policy),
4111  time(tr, prefix+".time", totsize, policy),
4112  vtx(tr, prefix+".vtx", totsize, policy)
4113 {
4114 }
4115 
4117 {
4118  fuzzyk.Fill(sr.fuzzyk);
4119  time.Fill(sr.time);
4120  vtx.Fill(sr.vtx);
4121 }
4122 
4124 {
4125  fuzzyk.Clear();
4126  time.Clear();
4127  vtx.Clear();
4128 }
4129 
4130 flat::Flat<caf::SRVertexDT>::Flat(TTree* tr, const std::string& prefix, const std::string& totsize, const IBranchPolicy* policy) :
4131  time(tr, prefix+".time", totsize, policy),
4132  vtx(tr, prefix+".vtx", totsize, policy)
4133 {
4134 }
4135 
4137 {
4138  time.Fill(sr.time);
4139  vtx.Fill(sr.vtx);
4140 }
4141 
4143 {
4144  time.Clear();
4145  vtx.Clear();
4146 }
4147 
4149  elastic(tr, prefix+".elastic", totsize, policy),
4150  hough(tr, prefix+".hough", totsize, policy),
4151  nhough(tr, prefix+".nhough", totsize, policy),
4152  nvdt(tr, prefix+".nvdt", totsize, policy),
4153  vdt(tr, prefix+".vdt", totsize, policy)
4154 {
4155 }
4156 
4158 {
4159  elastic.Fill(sr.elastic);
4160  hough.Fill(sr.hough);
4161  nhough.Fill(sr.nhough);
4162  nvdt.Fill(sr.nvdt);
4163  vdt.Fill(sr.vdt);
4164 }
4165 
4167 {
4168  elastic.Clear();
4169  hough.Clear();
4170  nhough.Clear();
4171  nvdt.Clear();
4172  vdt.Clear();
4173 }
4174 
4176  energy(tr, prefix+".energy", totsize, policy),
4177  hdr(tr, prefix+".hdr", totsize, policy),
4178  mc(tr, prefix+".mc", totsize, policy),
4179  me(tr, prefix+".me", totsize, policy),
4180  parent(tr, prefix+".parent", totsize, policy),
4181  sel(tr, prefix+".sel", totsize, policy),
4182  slc(tr, prefix+".slc", totsize, policy),
4183  spill(tr, prefix+".spill", totsize, policy),
4184  training(tr, prefix+".training", totsize, policy),
4185  trk(tr, prefix+".trk", totsize, policy),
4186  vtx(tr, prefix+".vtx", totsize, policy)
4187 {
4188 }
4189 
4191 {
4192  energy.Fill(sr.energy);
4193  hdr.Fill(sr.hdr);
4194  mc.Fill(sr.mc);
4195  me.Fill(sr.me);
4196  parent.Fill(sr.parent);
4197  sel.Fill(sr.sel);
4198  slc.Fill(sr.slc);
4199  spill.Fill(sr.spill);
4200  training.Fill(sr.training);
4201  trk.Fill(sr.trk);
4202  vtx.Fill(sr.vtx);
4203 }
4204 
4206 {
4207  energy.Clear();
4208  hdr.Clear();
4209  mc.Clear();
4210  me.Clear();
4211  parent.Clear();
4212  sel.Clear();
4213  slc.Clear();
4214  spill.Clear();
4215  training.Clear();
4216  trk.Clear();
4217  vtx.Clear();
4218 }
unsigned short nhit
number of hits
std::vector< float > intx
Definition: SRSpill.h:47
int cosfwdcell
cosmictrack projected # cells from end point forwards to det edge
Definition: SRContain.h:30
NuonE output.
Definition: SRNuonEResult.h:13
float x
Bjorken x = (k-k&#39;)^2 / (2*p.q), [Dimensionless].
Definition: SRNeutrino.h:78
const XML_Char int len
Definition: expat.h:262
float nshwlid
SRLorentzVector p
Momentum 4-vector.
Definition: SRTrueMichelE.h:27
Information about the neutrino production. Docs from http://www.hep.utexas.edu/~zarko/wwwgnumi/v19/v1...
Definition: SRBeam.h:14
Represents output from SlcMEFilter.
Definition: SRSlcME.h:11
float ncid
Likelihood Neutral Current.
Definition: SRCVNResult.h:23
float visEinslcNeutron
Sum of FLS hits that made CellHits from this neutrino in this subevent [GeV] that were daughters of n...
Definition: SRNeutrino.h:32
float distallpngbottom
float time
Time [ns].
Definition: SRElastic.h:25
float efracp4
Definition: SRXnue.h:24
unsigned char cvnlabmap[16000]
store 1D array with hit labels
Definition: SRPixelObjMap.h:33
unsigned short nhity
number of hits in y-view
Definition: SRProng.h:32
int ncell
number of cells in slice
Definition: SRRvp.h:20
Det_t det
Detector, ND = 1, FD = 2, NDOS = 3.
Definition: SRHeader.h:28
int ismuon
Boolean to distinguish muons from electrons.
Definition: SRSLid.h:26
float pngmaxx
Maximum X that contain all the cell hits. [cm].
Definition: SRProng.h:41
SRShowerLID shwlid
Shower information.
Definition: SRFuzzyKProng.h:19
float daughterVisE
Visible Energy in detector for all daughters of this particle, all summed FLSHits that made CellHits ...
float dedxp1c1
Definition: SRSLid.h:79
float calE
Calorimetric Energy [GeV].
Definition: SRTrkME.h:26
float closestslicemindist
minimum distance to the closest slice in time domain
Definition: SRSlice.h:56
SRRegCVNResult regcvn
Regression CVN information.
Definition: SRFuzzyKProng.h:21
float remid
ReMId value of the parent slice.
Definition: SRMRCCParent.h:44
float visEinslcNeutronBirks
Sum of FLS hits that made CellHits from this neutrino in this subevent [GeV] that were daughters of n...
Definition: SRNeutrino.h:36
SRVector3D dir
Shower direction at start point [unit vector recommended].
Definition: SRTrack.h:36
int potnum
Proton event number, indicates which simulated proton was taken.
Definition: SRBeam.h:34
An SREnergyBranch contains vectors of energy objects.
unsigned long int spilltimesec
Spill time in seconds [s].
Definition: SRSpill.h:33
Definition: FillPIDs.h:18
float lstmmuon_opphorn
lstmmuon trained with opposite horn current
Definition: SRNumuEnergy.h:58
int ndecay
"neutrino decay". Decay mode that produced neutrino
Definition: SRBeam.h:43
float daughterVisEinslcBirks
Visible Energy in detector for all daughters of this particle, slice summed FLSHits that made CellHit...
unsigned int nmissingdcmslg
# of DCMS with 63 or more bad FEBs (LiveGeometry, subset of baddcmslg)
Definition: SRSpill.h:68
float angleerror
1-sigma error from using quasielastic angle formula for neutrino energy
Definition: SRNumuEnergy.h:30
SRCVNResult cvnoldpresel_opphorn
cvnoldpresel trained for opposite HC
Definition: SRIDBranch.h:66
SRSliceLID slicelid
Output of SliceLID classifier.
Definition: SRIDBranch.h:58
SRBpfTrack muon
The track reconstructed under the muon assumption.
Definition: SRBpf.h:14
ofstream output
SRParticleTruth truthXView
Truth information for the prong.
Definition: SRProng.h:47
float avedEdxlast20cm
Average dE/dx in the last 20 cm approximately.
Definition: SRTrack.h:73
float dedxp4c1
Definition: SRSLid.h:85
SRVector3D vtx
Vertex position in detector coordinates [cm].
Definition: SRNeutrino.h:47
double bdt
Definition: SRXnue.h:26
float maxInelasticProtonTrueE
Energy of the proton daughter going through the most energetic inelastic process. ...
unsigned int noutput
Number of entries in output vector.
Definition: SRNuonEResult.h:27
float visE
Sum of FLS hits that made CellHits from this neutrino [GeV].
Definition: SRNeutrino.h:29
SRPresel rockpre
Official rock preselection information.
Definition: SRIDBranch.h:45
float fscattsum
sum of scattering angles (Fernanda)
Definition: SRCosRej.h:43
float disttoslc
Minimum distance between hits in ME and parent (cm)
Definition: SRSlcME.h:24
float scatllh
Log-likelihood value from scattering angle.
Definition: SRRemid.h:26
unsigned int interaction
Class of the event.
std::vector< float > bposx
Definition: SRSpill.h:49
Double_t angle
Definition: plot.C:86
unsigned int nplanes
number of planes in pixel map
Definition: SRPixelObjMap.h:17
unsigned short maxplanecont
maximum number of contiguous planes in prong
Definition: SRShower.h:29
float visE
Visible Energy in detector, all summed FLSHits that made CellHits [GeV].
Definition: SRTrueMichelE.h:22
float enllt
Electron - neutron LL for transverse shower.
Definition: SRSLid.h:45
int cycle
MC repition index on a given run,subrun.
Definition: SRNeutrino.h:98
float time
Time from electron vertex [GeV].
float neutronid
Likelihood neutron.
int labelx
Class of the X view prong.
SRBpf bpf
Container class for BreakPointFitter tracks.
Definition: SRFuzzyKProng.h:20
float mvapiE
measure of reconstructed energy assuming this track is a charged pion
Definition: SRBpfTrack.h:35
short ncosmic
Number of cosmics in cosmic vector (0 or 1)
Definition: SRTruthBranch.h:38
float annecos
e/cosmic ann output with energy for the slice, currently the same as the most energetic shower ...
Definition: SRELid.h:28
float shwE
Energy of shower [GeV].
Definition: SRSLidEnergy.h:21
unsigned short nhitx
number of hits in x-view
int pdg
pdg code for the tracking assumption used to make the best muon track
Definition: SRBpfId.h:27
unsigned int idxmuonid
Index number of the highest scoring muonid track.
Definition: SRKalman.h:33
Variables describing Michel E&#39;s found around the end of a track.
Definition: SRPixelMap.h:13
unsigned short nplaney
number of planes spanned in y view
float visENeutronBirks
Sum of FLS hits that made CellHits from this neutrino [GeV] that were daughters of neutrons with birk...
Definition: SRNeutrino.h:35
float piplus_cv
Reweight for the piplus central value (cv)
unsigned int firstcellx
global position of first x cell in map
Definition: SRPixelMap.h:26
float rawgevhad
Uncorrected hadronic energy [GeV].
Definition: SRNueEnergy.h:20
Reweight information for geant4 systematic.
A 3-vector with more efficient storage than TVector3.
Definition: SRVector3D.h:14
float inelasticPhotonMaxVisEinslc
Vis energy in slc coming from max inelastic process with photons in final state linked to primary...
float anne
ann with energy output
Definition: SRSLid.h:23
int ppmedium
"parent particle medium". Tracking medium number where parent was produced
Definition: SRBeam.h:64
float kalchisq
chisq value of slope fit (kalmantrack)
Definition: SRCosRej.h:62
float unixtime
unix time of spill
Definition: SRHeader.h:45
float pionid
Likelihood pion.
unsigned short maskstatus
0 no mask found in DB, 1 mask used ok, 2 masking turned off. If 0 or 2 dibmask is instead the configu...
Definition: SRHeader.h:35
SRCVNResult cvnnocosmics
Output from CVN - No cosmics ued in training (many-class PID)
Definition: SRIDBranch.h:56
float weightedCalE
calE, weighted to take into account hits shared between prongs [GeV]
Definition: SRProng.h:37
float trkbakdist
Kalmantrack projected distance (cm) from start point backwards to det edge.
Definition: SRTrack.h:69
Event ID training variables.
int ncontplanes
std::vector< float > daughterVisEnergies
Energy of each particle contributing to the prong.
float efrac6plwin
largest fraction of energy in a 6 plane window out of total slice
Definition: SRRvp.h:28
bool blind
if true, record has been corrupted for blindness
Definition: SRHeader.h:29
float visEinslc
Sum of FLS hits that made CellHits from this neutrino in this subevent [GeV].
Definition: SRNeutrino.h:30
float missE
sum of energy of particles that leave detector. example cut: missE/trueE > 0.01 is truly uncontained ...
Definition: SRContain.h:21
int status
Definition: fabricate.py:1613
SRHeader hdr
Header branch: run, subrun, etc.
float muonid
Likelihood muon.
Reweight information for a single GENIE systematic.
float orphCalE
calorimetric energy of hits that don&#39;t appear in any FuzzyK prongs
Definition: SRFuzzyK.h:30
SRParticleTruth truthXView
Truth information for the prong.
short faveidxeffthenpur
Index of favorite in allnus when neutrinos are sorted by efficiency and slices break ties by purity...
Definition: SRTruthBranch.h:35
unsigned int subrun
subrun number
Definition: SRHeader.h:22
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
bool is0HC
Definition: SRSpill.h:44
SRVector3D dir
Shower direction at start point [unit vector recommended].
Definition: SRShower.h:33
SRVector3D enter
Cosmic entrance point in detector coordinates. [cm] When the primary doesn&#39;t enter the detector...
Definition: SRCosmic.h:40
float Eres1
Estimated event energy resolution (GeV) (using an unoscillated training sample)
Definition: SRBPFEnergy.h:19
float nueid
Likelihood of Charge Current NuE.
Definition: SRSliceLID.h:14
float ndhadcalactE
Near detector – hadronic calorimetric energy NOT on the muon track in active region [GeV]...
Definition: SRNumuEnergy.h:42
unsigned int npizero
Number of &#39;s after neutrino reaction, before FSI.
Definition: SRNeutrino.h:65
float daughterVisEinslc
Visible Energy in detector for all daughters of this particle, slice summed FLSHits that made CellHit...
float mvapiE
PionReco measure of particle energy, assuming a charged pion.
Definition: SRFuzzyKProng.h:29
SRBeam beam
Information about neutrino production.
Definition: SRNeutrino.h:93
unsigned int ncells
number of cells in pixel map
Definition: SRPixelObjMap.h:21
float shwEFrac
fraction of energy of leading shower out of total energy of slice
Definition: SRSLid.h:50
float distallpngbottom
Definition: SRNueCosRej.h:95
float ndtrklenact
Near detector – muon track length in active region [cm].
Definition: SRNumuEnergy.h:37
std::vector< float > components
Principal components of output.
Definition: SRCVNFeatures.h:18
float prongEbal3D
the energy balance between the two highest energy 3D prongs in slice
Definition: SRRvp.h:31
unsigned int ncellsfromedge
minimum number of cells to edge of detector
Definition: SRHadClust.h:30
float ndtrkcaltranE
Near detector – muon calorimetric energy in transition plane [GeV].
Definition: SRNumuEnergy.h:40
Perform a "2 point" Hough transform on a collection of hits.
Definition: Hough2P.cxx:20
float ymaxt
y position of hit closest to edge in +Y dimension that has > 100 photoelectons (TODO: use pecorr) ...
Definition: SRContain.h:63
SRHadClust hadclust
Cluster information for hits in slice but not on muon track (track with higest ReMId value) ...
Definition: SRNumuEnergy.h:50
int ncellsfromedge
number of cells from detector edge
Definition: SRMRCCParent.h:37
Variables describing Michel E&#39;s found around the end of a track.
Definition: SRSliceMap.h:13
float meanyexp
Hadronic y of matches, "exp".
Definition: SRLem.h:32
float costhetatrue
cosine of angle between cosmic trk dir and true dir of most contributing particle ...
Definition: SRCosRej.h:26
std::vector< SRMRProperties > mrdif
cosmogenic DiF shower properties
Definition: SRTrack.h:54
SRCVNParticleResult cvnpart_opphorn
cvnpart trained with opposite horn current
Definition: SRProng.h:51
float ann
ann output
Definition: SRSLid.h:22
SRCVNResult cvnnocosmics_opphorn
cvncosmics trained for opposite HC
Definition: SRIDBranch.h:67
std::vector< SRProng > png2d
Vector of 2D prong objects.
Definition: SRFuzzyK.h:20
float cfitspeed
fit inverse speed (ns/cm) of Hough timing fit (TimingFit module) for cosmic track ...
Definition: SRCosRej.h:56
SRVector3D meanpos
The mean position of the ME cluster.
Definition: SRSlcME.h:25
unsigned int lastplane
last plane
Definition: SRSlice.h:27
SRCosRej cosrej
Output from CosRej (Cosmic Rejection)
Definition: SRIDBranch.h:47
float mutimediffbydist
Definition: SRNueCosRej.h:193
float elasticProtonSumVisEinslc
Vis energy in slc coming from sum of elastic processes with protons in final state linked to primary...
float prong2dvertexenergyvolume20
Vertex Energy calculated by all the hits belong to 2D prong using volume2 20cm.
Definition: SRElastic.h:37
unsigned int firstplane
first plane
Definition: SRSlice.h:26
std::vector< float > piplus_univ
Reweight values for the piplus multi-universe.
size_t ntracks
Definition: SRKalman.h:23
float q2
Squared momentum transfer [GeV^2].
Definition: SRNeutrino.h:77
dictionary components
float muanglediffbytime
Definition: SRNueCosRej.h:206
unsigned int lastcelly
global position of last y cell in map
Definition: SRPixelMap.h:29
float shiftedtrkccE
Track length cc neutrino energy GeV
Definition: SRNumuEnergy.h:28
float closestsliceminfromback
minimum distance to edge of detector in the closest slice
Definition: SRSlice.h:53
unsigned short nhity
number of hits in yview
Definition: SRTrkME.h:25
SRLorentzVector p
True energy 4-vector of the best matched particle.
A vertex found by the VertexDT algorithm.
Definition: SRVertexDT.h:13
float trknonqeE
Track length non-quasielastic neutrino energy [GeV].
Definition: SRNumuEnergy.h:26
float dedx1
Definition: SRSLid.h:67
float rawgevslice
Uncorrected slice energy [GeV].
Definition: SRNueEnergy.h:21
float enddist
Definition: SRTrack.h:65
std::vector< SRVertexDT > vdt
Vector of vertices found by VertexDT.
unsigned short nplane
number of planes spanned
Definition: SRTrack.h:30
unsigned int idxremid
index number of the best ReMId track
Definition: SRKalman.h:32
float hadEinmucat
hadronic energy in muon catcher and transition planes
Definition: SRMRCCParent.h:64
float elasticProtonSumVisE
Visible energy coming from sum of elastic processes with protons in final state linked to primary...
float cospidbdtg
NC cosrej PID. A Keras using 15 variables.
Definition: SRNCCosRej.h:23
float E
Energy [GeV].
Definition: SRSLidEnergy.h:18
float len
Track length of identified track.
Definition: SRRemid.h:28
std::vector< float > proton_univ
Reweight values for the proton multi-universe.
int nanoslicebufferempty
# of nanoslices reporting BufferEmpty
Definition: SRSpill.h:91
float p1Fmip
Definition: SRXnue.h:18
float azimuth
Azimuth angle (w.r.t y-axis)
Definition: SRCosmic.h:38
float chi2Scat
chi^2 from the scattering angle
Definition: SRBpfTrack.h:21
int tptype
"target particle type". Parent particle ID exiting the target (PDG code)
Definition: SRBeam.h:37
int inttype
Interaction type enum int_type::[...].
Definition: SRNeutrino.h:61
unsigned short day
day of spill within month
Definition: SRHeader.h:39
float woscdumb
Simplest possible oscillation weight.
Definition: SRNeutrino.h:57
float cosyposattrans
Y position of cosmic track at transition (ND only, use to check if went through air gap) ...
Definition: SRContain.h:49
SRVector3D boxmax
Maximum coordinates box containing all the hits [cm].
Definition: SRSlice.h:47
float len
track length [cm]
Definition: SRProng.h:44
std::vector< SRCosmicCVN > cosmiccvn
Contain cosmic CVN scores for all time windows in event.
Definition: SRSpill.h:100
std::vector< SRTrkME > trkcosmic
Definition: SRMichelE.h:24
float activity15
PionReco activity within 15 cm of prong end, in GeV, ignoring 30 cm near vertex.
Definition: SRFuzzyKProng.h:24
std::vector< SRFuzzyKProng > png
Vector of 3D prong objects.
Definition: SRFuzzyK.h:19
unsigned short nplaney
number of planes spanned in y view
Definition: SRShower.h:39
float regcvnhadE
Hadronic Energy predicted by Regression CNN [GeV].
Definition: SRNumuEnergy.h:61
SRMichelE me
Michel electron branch.
float hitfracy
fraction of y hits in slice in y view pixel map
Definition: SRPixelMap.h:31
Overarching information for a numu hadronic cluster.
Definition: SRHadClust.h:15
A reconstructed shower from the MRProperties module.
float prong2dvertexenergyvolume30
Vertex Energy calculated by all the hits belong to 2D prong using volume3 30cm.
Definition: SRElastic.h:38
SRVector3D muonstart
muon track start
Definition: SRMRCCParent.h:49
float inelasticPhotonSumVisEinslc
Vis energy in slc coming from sum of inelastic processes with photons in final state linked to primar...
const char * p
Definition: xmltok.h:285
int bestVtxIdx
elastic arms vertex index for the best muon track
Definition: SRBpfId.h:24
float avedEdxlast30cm
Average dE/dx in the last 30 cm approximately.
Definition: SRTrack.h:74
float regcvnEvtE_opphorn
regcvnEvtE trained with opposite horn current
Definition: SRNueEnergy.h:27
std::vector< unsigned int > primList
Indices to primary (i.e. final state) descendants in SRNeutrino.
float maxval
Maximum value among net outputs.
Definition: SRCVNResult.h:25
std::vector< SRCosmic > allcosmics
vector holding all Cosmics
Definition: SRTruthBranch.h:29
static Var numuid(const std::shared_ptr< CAFAnaModel > &model)
Definition: SliceLIDVar.h:63
std::vector< SRTrueParticle > prim
Primary daughters, lepton comes first in vector.
Definition: SRNeutrino.h:84
short pdg
pdg code
size_t nkalman
Definition: SRMichelE.h:28
float ndtrkcalcatE
Near detector – muon calorimetric energy in muon catcher [GeV].
Definition: SRNumuEnergy.h:41
float gap
gap from shower start to ElasticArms vertex [cm]
Definition: SRShower.h:40
float trkfwdair
for Kalmantrack projected distance forwards how much is through air (ND only, NYI) ...
Definition: SRTrack.h:67
float calccE
Calorimetric charged current neutrino energy [GeV].
Definition: SRNumuEnergy.h:24
float pid
The default PID value - normally use this one.
Definition: SRLem.h:24
float p1energy
Definition: SRXnue.h:17
unsigned short nhit
number of hits
Definition: SRShower.h:25
bool isFHC
Flags for horn direction.
Definition: SRSpill.h:43
bool passanglefirstana
Would this slice pass the old angle cut used for first analysis.
Definition: SRVeto.h:29
unsigned int npiplus
Number of &#39;s after neutrino reaction, before FSI.
Definition: SRNeutrino.h:63
SRNuonEResult nuone_opphorn
nuone trained for opposite HC
Definition: SRIDBranch.h:69
float PMuon
BPF reconstructed momentum for the prong with the best muon PID value.
Definition: SRBPFEnergy.h:25
int nanosliceadcerror
# of nanoslices reporting ADCError
Definition: SRSpill.h:96
std::vector< SRTrainingData > trainingdata
Collection of labels associated with the Pixel maps.
SRTrainingBranch training
Extra training information for prototyping PIDs etc.
float tmvabdtmf
TMVA boosted decision tree, Fisher discriminant.
Definition: SRLem.h:65
SRMCReweight rwgt
Definition: SRNeutrino.h:91
std::vector< float > inty
Definition: SRSpill.h:48
float cosslope
slope of track timing fit (cosmictrack)
Definition: SRCosRej.h:64
float deltat
Time delay (ns)
Definition: SRSlcME.h:22
std::vector< unsigned int > genVersion
Version of the generator that created this neutrino interaction.
Definition: SRNeutrino.h:88
float dedx15
measure of dedx ignoring 15 cm near EA vertex
Definition: SRKalmanTrack.h:26
float muclosestapproachbydist
Definition: SRNueCosRej.h:197
float kalyposattrans
Y position of Kalman track and transition (ND only, use to check if went through air gap) ...
Definition: SRContain.h:50
float pngminy
Minimum Y that contain all the cell hits. [cm].
Definition: SRProng.h:42
float scatt30
measure of track scatter ignoring 30 cm near EA vertex
Definition: SRBpfTrack.h:27
short faveidxpur
Index of favorite in allnus when sorted by purity.
Definition: SRTruthBranch.h:33
float starttime
start time [ns]
Definition: SRSlice.h:39
SRLorentzVector p
True momentum [GeV].
Definition: SRCosmic.h:32
float tmvabdt
TMVA boosted decision tree, adaptive boost.
Definition: SRLem.h:63
int ndiblocks
# of diblocks reporting in event
Definition: SRSpill.h:81
float truemuoncatcherE
ND value: true energy of muon as it crosses the transition plane into muon catcher [GeV]...
This is a class for the NueSel energy estimate.
Definition: SRSLidEnergy.h:12
float dedxp0c1
Definition: SRSLid.h:77
unsigned int ncells
number of cells in pixel map
Definition: SRPixelMap.h:22
float remavededx
average dE/dx value as computed by remid
Definition: SRKalmanTrack.h:15
int pdgbest
pdg code of most contributing true particle to best kalman trk
Definition: SRCosRej.h:28
float DirZMuon
BPF reconstructed track direction for the prong with the best muon PID value.
Definition: SRBPFEnergy.h:26
short faveidxeff
Index of favorite in allnus when sorted by slicer efficiency.
Definition: SRTruthBranch.h:31
float visEinslc
Sum of FLS hits that made CellHits from this neutrino in this subevent [GeV].
Definition: SRCosmic.h:24
unsigned int ncontplanes
number of continuous planes
Definition: SRHadClust.h:25
float calE
Calorimetric Energy of ME (GeV)
Definition: SRSlcME.h:21
float vtxx
float pngmaxy
Maximum Y that contain all the cell hits. [cm].
Definition: SRTrack.h:40
float eplll
Electron - proton LL for longitudinal shower.
Definition: SRSLid.h:42
float dedxp3c0
Definition: SRSLid.h:82
float time
Time [ns].
Definition: SRVertexDT.h:22
unsigned short maxplanegap
maximum number of gapped planes in prong
float zmaxt
z position of hit closest to edge in +Z dimension that has > 100 photoelectons (TODO: use pecorr) ...
Definition: SRContain.h:64
SRVector3D start
Shower start point in detector coordinates. [cm].
Definition: SRProng.h:38
unsigned short maxplanecont
maximum number of contiguous planes in prong
Definition: SRTrack.h:31
float fscattsig
sigma of scattering variable distribution (Fernanda)
Definition: SRCosRej.h:45
Details of processing cuts made by the veto modules.
Definition: SRVeto.h:12
SRVector3D vtx
Vertex position in detector coordinates. [cm].
Definition: SRVertexDT.h:23
nhit
Definition: demo1.py:25
std::vector< float > bposy
Definition: SRSpill.h:50
float trkyposattrans
Y position at transition to muon catcher, for determining if track went through air gap (ND only) ...
Definition: SRTrack.h:63
bool finetiming
Is fine timing enabled in this run?
Definition: SRHeader.h:55
float xmint
x position of hit closest to edge in -X dimension that has > 100 photoelectons (TODO: use pecorr) ...
Definition: SRContain.h:59
unsigned int run
run number
Definition: SRHeader.h:21
SRTrackBase discrete
3D tracks produced by DiscreteTrack
Definition: SRTrackBranch.h:25
unsigned int parent
Class of the event by parent particle.
float energydiffexp
Pot. diff between sig and bkg matches, "exp".
Definition: SRLem.h:45
Regression CVN output.
unsigned short nhitx
number of hits in x-view
Definition: SRShower.h:26
Reweight information for flux systematic.
Definition: SRFluxWeights.h:12
float pur
Purity with which this event matched to the parent slice.
Definition: SRMRCCParent.h:30
int nemptymicroslice
# of empty micro slices
Definition: SRSpill.h:84
float visENeutron
Sum of FLS hits that made CellHits from this neutrino [GeV] that were daughters of neutrons...
Definition: SRNeutrino.h:31
float ellt
Electron LL for transverse shower.
Definition: SRSLid.h:59
float meanyfit
Hadronic y of matches, "fit".
Definition: SRLem.h:31
float mipfrac
fraction of mip hits out of total number of hits
Definition: SRRvp.h:24
unsigned int longestidx
index of longest prong
Definition: SRFuzzyK.h:23
unsigned int nouttimehits
# of out-of-time hits
Definition: SRSpill.h:66
View_t view
Prong view caf::kX = 0, caf::kY = 1 or caf::kXorY = 2.
bool numucontainSA
is this contained by second analysis Numu Standards?
Definition: SRContain.h:19
float chi2Hit
chi^2 from the hit-trajectory
Definition: SRBpfTrack.h:20
float ucrecomuonE1trk
Reconstructed muon energy for uncontained single track events at the FarDet from TMVA [GeV]...
Definition: SRNumuEnergy.h:32
size_t ntracks2d
Definition: SRKalman.h:24
SRLorentzVector p
True momentum [GeV].
float distallpngeast
float adc
Total ADC in the ME cluster.
Definition: SRTrkME.h:28
SRVector3D meanpos
Mean position of hits in cluster, weighted by charge [cm].
Definition: SRHadClust.h:34
float mintime
Min time of cell(s) hits.
Definition: SRProng.h:60
float cospidbdt
NC Cosrej PID. A real adaptive BDT using 13 variables.
Definition: SRNCCosRej.h:20
Output from Cosmic Rejection (CosRej) module.
Definition: SRCosRej.h:8
float hadE
Hadronic energy [GeV].
Definition: SRSLidEnergy.h:22
float meanqfracbkg
Mean fraction matched in background matches.
Definition: SRLem.h:41
SRNueEnergy nue
Nue energy variables.
float gen2vtx
distance from ray origin to event vtx
Definition: SRBeam.h:91
float enrichfrac
Fraction of matches that are "enriched".
Definition: SRLem.h:47
float eff
True deposited energy collection efficiency for the best matched particle relative to the slice...
preselection information
Definition: SRPresel.h:12
float dedxp5c1
Definition: SRSLid.h:87
SRParticleTruth truth
Truth information for the prong.
Definition: SRShower.h:42
unsigned int run
run number
Definition: SRSpill.h:25
float calE
energy based on summed calibrated deposited charge [GeV]
Definition: SRShower.h:31
SRVector3D muparp
Muon neutrino parent momentum, x component.
Definition: SRBeam.h:73
float avedEdxlast40cm
Average dE/dx in the last 40 cm approximately.
Definition: SRTrack.h:75
SRCVNResult cvnoldpresel
Output from CVN - Preselection used in Prod3/4 (many-class PID)
Definition: SRIDBranch.h:55
float vtxdist
shortest distance to wall from primary Kalman track start position (proxy for vertex) ...
Definition: SRContain.h:26
float distallpngfront
unsigned int particles
Class of the event by primary n prongs.
SRCVNResult cvnloosepreselptp
Output from CVN - Loose Presel plus PtP cut (many-class PID)
Definition: SRIDBranch.h:54
float calE
energy based on summed calibrated deposited charge [GeV]
Definition: SRTrack.h:34
float dedx30
measure of dedx ignoring 30 cm near EA vertex
Definition: SRBpfTrack.h:29
int nanoslicedatanotpresent
# of nanoslices reporting !DataPresent
Definition: SRSpill.h:89
std::vector< SRHoughVertex > hough
Vector of vertices found by HoughVertex.
int tgtA
A of target nucleus.
Definition: SRNeutrino.h:75
float closestslicecalE
Calorimetric energy of the closest-in-time slice (GeV)
Definition: SRSlice.h:45
float dedxp0c0
Definition: SRSLid.h:76
float piminus_cv
Reweight for the piminus central value (cv)
bool ismc
data or MC? True if MC
Definition: SRHeader.h:27
float annepi0
e/pi0 PID for oscillation analysis
Definition: SRSLid.h:24
int emptydatablock
# of empty data blocks
Definition: SRSpill.h:82
int cosbakcell
cosmictrack projected # cells from start point backwards to det edge
Definition: SRContain.h:35
float Eres3
Estimated event energy resolution (GeV) (using a training sample with dm^2 = 2.4e-3, sin^2(2th23) = 1.0)
Definition: SRBPFEnergy.h:23
def ratio(spec1, spec2, nbins, pot, binrange=(0, 1))
int nanoslicenolinkstatus
# of nanoslices reporting !LinkPresent
Definition: SRSpill.h:90
SRMuonID muonid
Output from ND Group MuonID BDT.
Definition: SRIDBranch.h:40
float muanglediffbydist
Definition: SRNueCosRej.h:189
float inelasticProtonMaxVisE
Visible energy coming from max inelastic process with protons in final state linked to primary...
bool passpre
Bool saying if event passed Preselection.
Definition: SRPresel.h:18
std::vector< SRTrkME > trkkalman
Definition: SRMichelE.h:22
Det_t det
Detector, ND = 1, FD = 2, NDOS = 3.
Definition: SRSpill.h:29
float kalfwdair
for Kalmantrack projected distance forwards how much is through air (ND only, NYI) ...
Definition: SRContain.h:42
float dk2vtx
Definition: SRBeam.h:94
float subevtstarttime
time of beginning of slice within spill [ns]
Definition: SRHeader.h:47
unsigned int nhit
number of hits
Definition: SRHadClust.h:22
float elasticProtonMaxVisEinslc
Vis energy in slc coming from max elastic process with protons in final state linked to primary...
unsigned int evt
ART event number, indexes trigger windows.
Definition: SRNeutrino.h:97
float deltat
time difference [ns]
Definition: SRTrkME.h:27
float costheta
cosine of track with respect to beam direction
Definition: SRSLid.h:52
SRRvp rvp
Output from RecoVariablePID (RVP)
Definition: SRIDBranch.h:46
Defines an enumeration for prong classification.
unsigned int nproton
Number of protons after neutrino reaction, before FSI.
Definition: SRNeutrino.h:66
float scatt
sum of all all angular deviation (looping over kaltrk traj pts) / trk len
Definition: SRCosRej.h:41
float chibkgexp
chisq of a fit assuming best match is bkg, "exp"
Definition: SRLem.h:56
float daughterVisEinslcBirks
Visible Energy in detector for all daughters of this particle, slice summed FLSHits that made CellHit...
float daughterVisEBirks
Visible Energy in detector for all daughters of this particle, all summed FLSHits that made CellHits ...
int firstplane
first plane in slice
Definition: SRMRCCParent.h:39
unsigned int nmissingdcms
# of missing DCMs
Definition: SRSpill.h:64
float cscorediff
chisq score difference between best +c/-c assumption and free fit in Hough timing fit (TimingFit modu...
Definition: SRCosRej.h:60
float mintime
Min time of cell(s)
Definition: SRTrack.h:79
float closestsliceminfromeast
minimum distance to edge of detector in the closest slice
Definition: SRSlice.h:54
std::string genConfigString
String associated with generator configuration. (For GENIE 3, this is the "Comprehensive Model Config...
Definition: SRNeutrino.h:89
unsigned short nhit
number of hits
Definition: SRTrack.h:25
float distallpngtop
float posy
y position on target
Definition: SRSpill.h:52
float dcmedgematchfrac
How many hits at the DCM edge are matched in the adjacent DCM?
Definition: SRSpill.h:74
int kalbakcellnd
Kalmantrack projected # cells from start point backwards to det edge, including muon catcher...
Definition: SRContain.h:46
bool passthru
Would this slice pass the (fixed) through-going check?
Definition: SRVeto.h:26
unsigned short minute
minute of spill
Definition: SRHeader.h:42
float nutauid
Likelihood Charge Current NuTau.
Definition: SRCVNResult.h:22
float genweight
Weight, if any, assigned by the generator.
Definition: SRNeutrino.h:82
bool passangle
Would this slice pass the most recent angle cut?
Definition: SRVeto.h:28
unsigned int subrun
subrun number
Definition: SRNeutrino.h:96
float fracnoisePE
Fraction of energy which comes from noise.
Definition: SRSlice.h:35
bool passthruold
Would this slice pass the (not fixed, no ratio check) through-going check?
Definition: SRVeto.h:27
A PID for muons.
Definition: FillPIDs.h:11
float trkbaksteel
for Kalmantrack projected distance backwards, how much is through steel (ND only, currently is just d...
Definition: SRTrack.h:71
std::vector< int > daughterlist
float emulll
Electron - muon LL for longitudinal shower.
Definition: SRSLid.h:38
float pur
Slicer purity for this truth interaction.
Definition: SRCosmic.h:26
The truth information of reco objects within a slice.
SRVector3D vtx
Vertex position in detector coordinates [cm].
Definition: SRCosmic.h:34
bool isseaquark
Did neutrino scatter off a sea quark.
Definition: SRNeutrino.h:70
float nueid
Likelihood Charge Current NuE.
Definition: SRCVNResult.h:21
float tmvabdtd
TMVA boosted decision tree, decorrelation.
Definition: SRLem.h:64
unsigned short minplane
minimum plane from the cluster
float zmint
z position of hit closest to edge in -Z dimension that has > 100 photoelectons (TODO: use pecorr) ...
Definition: SRContain.h:61
float muonyattrans
muon y position at transition plane
Definition: SRMRCCParent.h:53
float pngptp
Event transverse momentum fraction, based on prongs. See ncid::NCCosRej::ProngTransMom.
Definition: SRNCCosRej.h:17
SRVector3D pdp
"parent decay momentum". Parent momentum at decay point
Definition: SRBeam.h:49
float invglll
photon LL for longitudinal shower, assuming shower started at opposite end
Definition: SRSLid.h:57
float ndhadtrkactE
Near detector – hadronic calorimetric energy on the muon track in active region [GeV].
Definition: SRNumuEnergy.h:45
float kalslope
slope of track timing fit (kalmantrack)
Definition: SRCosRej.h:61
int ndatablockmissingdata
# of occurances of isMissingData
Definition: SRSpill.h:86
float ppdydz
"parent particle momentum dy/dz". Parent dy/dz direction at production
Definition: SRBeam.h:55
int bestBpfIdx
bpf track index for the best muon track
Definition: SRBpfId.h:26
size_t nbpf
Definition: SRMichelE.h:31
The SRNeutrino is a representation of neutrino interaction information.
Definition: SRNeutrino.h:21
SRParticleTruth truthYView
Truth information for the prong.
SRCVNResult cvnnocosmics
Output from CVN - No cosmics ued in training (many-class PID)
float len
reconstructed track length for the best muon track (input variable for the muon PID) ...
Definition: SRBpfId.h:35
unsigned int evt
ART event number, indexes trigger windows.
Definition: SRHeader.h:25
float zenith
Zenith angle (w.r.t y-axis)
Definition: SRCosmic.h:39
float emullt
Electron - muon LL for transverse shower.
Definition: SRSLid.h:39
float cosmicid
float pur
Slicer purity for this truth interaction.
Definition: SRNeutrino.h:41
float kalfwdsteel
for Kalmantrack projected distance forwards, how much is through steel (ND only, currently is just di...
Definition: SRContain.h:43
SRVector3D stop
Cosmic end point in detector coordinates, regardless of whether it is inside or outside the detector...
Definition: SRCosmic.h:43
unsigned int closestslicenhit
Number of hits in the closest-in-time slice.
Definition: SRSlice.h:44
float fracdcm3hits
fraction of DCM3 hits in horizontal modules
Definition: SRSpill.h:65
float E
True energy [GeV].
Definition: SRCosmic.h:22
unsigned short dibfirst
first diblock in detector configuration (1-14)
Definition: SRSpill.h:56
float prox15
PionReco measure of proximity to other prongs, ignoring 15 cm near vertex.
Definition: SRFuzzyKProng.h:27
float xmin2
x position of hit second closest to edge in -X dimension (slc.boxmin.fX gives first closest) ...
Definition: SRContain.h:52
float dedxp5c0
Definition: SRSLid.h:86
float epilll
Electron - pion LL for longitudinal shower.
Definition: SRSLid.h:46
int nnanoslices
# of nano slices in the event
Definition: SRSpill.h:88
float sparsenessasymmslice
Definition: SRNueCosRej.h:175
float minus2sigma
Reweight for shift.
double leninact
track length in active detector
Definition: SRTrack.h:61
float meanqfracbkgexp
Fraction matched in background matches, "exp".
Definition: SRLem.h:42
float xmax2
x position of hit second closest to edge in +X dimension (slc.boxmax.fX gives first closest) ...
Definition: SRContain.h:55
float cospidcontain
Nue cosrej PID. A BDT using 5 variables relating to containment.
Definition: SRNueCosRej.h:115
float efracp2
Definition: SRXnue.h:22
unsigned int noutput
Number of entries in output vector.
Definition: SRCVNResult.h:27
float kalfwddist
Kalmantrack projected distance (cm) from end point forwards to det edge.
Definition: SRContain.h:39
float annecos
e/cos PID for oscillation analysis
Definition: SRSLid.h:25
float hornI
Horn current.
Definition: SRSpill.h:42
unsigned short nhitx
number of hits in x-view
Definition: SRProng.h:31
PID
Definition: FillPIDs.h:14
float minus1sigma
Reweight for shift.
Store BDT variables for the short-baseline oscillation study.
Definition: SRXnue.h:12
SRParticleTruth truthXView
Truth information for the track.
Definition: SRTrack.h:49
Double_t q2[12][num]
Definition: f2_nu.C:137
float angle
Cosine of CosmicTrack with respect to the beam direction.
Definition: SRVeto.h:23
unsigned short gain
Global gain setting of the detector.
Definition: SRHeader.h:54
SRCVNResult cvnloosepreselptp_opphorn
cvnloosepreselptp trained for opposite HC
Definition: SRIDBranch.h:65
bool IsValid
This defaults to false, and only gets set to true in CAFMaker if there is a valid BPF track...
Definition: SRBpfTrack.h:15
float hadE
GeV sum of non (Kalman best ReMId) track E.
Definition: SRCosRej.h:51
float cosmicid
Likelihood Cosmic Interaction.
Definition: SRCVNResult.h:24
Breakpoint ID (BpfId) output.
Definition: SRBpfId.h:18
float mindist
minimum projected distance to edge of any Kalman track with > 15 hits
Definition: SRCosRej.h:17
float epl20frac
fraction of energy in first 20 planes out of total slice energy
Definition: SRRvp.h:26
Track finder for cosmic rays.
Truth information for numu energy fitting.
float endtime
end time [ns]
Definition: SRSlice.h:40
unsigned int nbaddcmslg
# of DCMS with too many bad channels (LiveGeometry)
Definition: SRSpill.h:69
float zmax2
z position of hit second closest to edge in +Z dimension (slc.boxmax.fZ gives first closest) ...
Definition: SRContain.h:57
unsigned int lastplane
global position of last plane in map
Definition: SRPixelObjMap.h:24
float pid
The output value from the BDT.
Definition: SRRvp.h:19
int cont
True if track is contained as defined by ReMId.
Definition: SRRemid.h:30
float elll
Electron LL for longitudinal shower.
Definition: SRSLid.h:58
float photonid
Likelihood photon.
SRLorentzVector p
True momentum [GeV].
Definition: SRNeutrino.h:46
float cosbakdist
cosmictrack projected distance (cm) from start point backwards to det edge
Definition: SRContain.h:34
short nallcosmics
Number of cosmics in allcosmics vector.
Definition: SRTruthBranch.h:40
float visEinslc
Visible Energy in detector, slice summed FLSHits that made CellHits [GeV].
std::vector< float > output
List of net output nodes.
Definition: SRCVNFeatures.h:15
SRParticleTruth truth
Truth information for the michel cluster.
Definition: SRTrkME.h:31
unsigned int npiminus
Number of &#39;s after neutrino reaction, before FSI.
Definition: SRNeutrino.h:64
float numuE
energy of parent slice
Definition: SRMRCCParent.h:60
int nanoslicepacketerror
# of nanoslices reporting PacketError
Definition: SRSpill.h:94
unsigned int subrun
subrun number
Definition: SRSpill.h:26
float cospidperibdt
Nue cosrej PID for the peripheral sample for 2020+.
Definition: SRNueCosRej.h:126
float daughterVisEBirks
Visible Energy in detector for all daughters of this particle, all summed FLSHits that made CellHits ...
size_t ndiscrete
Definition: SRMichelE.h:29
int iscc
double vtxx
True vertex of X position.
float electronid
Likelihood electron.
float trkccE
Track length cc neutrino energy [GeV].
Definition: SRNumuEnergy.h:27
float visE
Visible Energy in detector, all summed FLSHits that made CellHits [GeV].
SRKalman kalman
Tracks produced by KalmanTrack.
Definition: SRTrackBranch.h:24
int resnum
Straight from GENIE, resonance number.
Definition: SRNeutrino.h:71
bool keep
Definition: SRVeto.h:34
float pid
PID value output by kNN.
Definition: SRRemid.h:25
bool iscc
true if charged-current interaction, false if not.
Definition: SRNeutrino.h:60
std::vector< float > piminus_univ
Reweight values for the piminus multi-universe.
std::vector< SRTrkME > trkbpf
Definition: SRMichelE.h:25
short faveidxeffpur
Index of favorite in allnus when sorted by product of efficiency and purity.
Definition: SRTruthBranch.h:34
float E2
Total event energy (GeV) (using a training sample with dm^2 = 2.4e-3, sin^2(2th23) = 0...
Definition: SRBPFEnergy.h:20
int kalfwdcellnd
Kalmantrack projected # cells from end point forwards to det edge, including muon catcher...
Definition: SRContain.h:41
float p2Fmip
Definition: SRXnue.h:19
float pi0mass
best pi0 mass hypothesis coming from combinations of JMShowers
Definition: SRSLid.h:49
bool keepnue
Does the event past nue version of veto? (see doc-db 14654)
Definition: SRVeto.h:36
unsigned int nshwlid
number of shwlid showers - either 0 or number of 3d prongs
Definition: SRFuzzyK.h:24
float dedxp3c1
Definition: SRSLid.h:83
SRGlobalTruth global
Definition: SRTruthBranch.h:42
bool cvnmapsfilled
Bool to show if CVN Maps are filled for this slice.
SRCVNParticleResult cvnpart
CVN prongID information for 4 views.
Definition: SRProng.h:50
Definition: NueSkimmer.h:24
SRVector3D boxmin
Minimum coordinates box containing all the hits [cm].
Definition: SRSlice.h:46
unsigned int npiplus_univ
Number of piplus universes.
Sum up livetimes from individual cosmic triggers.
float L
True distance from hadron/muon decay to neutrino interaction [km].
Definition: SRNeutrino.h:37
int labely
Class of the Y view prong.
unsigned short maxplane
maximum plane from the cluster
float ndhadcalcatE
Near detector – hadronic calorimetric energy NOT on the muon track in muon catcher [GeV]...
Definition: SRNumuEnergy.h:44
SRFuzzyK fuzzyk
Primary 3D prong object.
Definition: SRHoughVertex.h:29
std::vector< float > vuniv
Reweight values for the multi-universe.
Definition: SRFluxWeights.h:18
float activity30
measure of activity within 30 cm of end of track ignoring 30 cm near vertex
Definition: SRBpfTrack.h:31
float hitRatio
ratio of hits in track to hits in prong (input to the muon PID) for the best muon track ...
Definition: SRBpfId.h:31
float visEinslcBirks
Visible Energy in detector, slice summed FLSHits that made CellHits [GeV] with birks suppression...
float ERemain
Summed remaining energy in the slice (not on fuzzyK 3D prongs)
Definition: SRBPFEnergy.h:29
float scatt15
measure of track scatter ignoring 15 cm near EA vertex
Definition: SRKalmanTrack.h:24
float meanqfracfit
Fraction of charge matched, "fit".
Definition: SRLem.h:37
float distallpngfront
Definition: SRNueCosRej.h:99
void Fill(const T &x)
float anglekal
cos of angle of best ReMId Kalman track
Definition: SRCosRej.h:23
float nmiphit
SRParticleTruth truth
Truth information for the track.
Definition: SRTrack.h:48
unsigned int nplanes
number of planes in pixel map
Definition: SRPixelMap.h:18
float efrac10p
Definition: SRXnue.h:21
float dedxp4c0
Definition: SRSLid.h:84
float epi0lll
Electron - Pi0 LL for longitudinal shower.
Definition: SRSLid.h:40
int mincell
minimum projected cells to edge of any Kalman track with > 15 hits
Definition: SRCosRej.h:18
Use NuReweight to compute +/-1,2sigma shifts for all systematics.
Definition: FillTruth.h:18
float anne
ann output with energy for the slice, currently the same as the most energetic shower ...
Definition: SRELid.h:26
std::vector< float > daughterEnergies
Vector containing energy of each daughter.
float trkqeE
Track length quasielastic neutrino energy [GeV].
Definition: SRNumuEnergy.h:25
static Var nutauid(const std::shared_ptr< CAFAnaModel > &model)
Definition: SliceLIDVar.h:93
size_t nhough
Number of vertices in HoughVertex (hough.size())
float hadtrkE
Hadronic calorimetric energy on the muon track[GeV].
Definition: SRNumuEnergy.h:36
float partptp
unsigned short maxplanegap
maximum number of gapped planes in prong
Definition: SRTrack.h:32
int pdg
PDG Code of the best matched truth particle.
SRCVNResult cvn
Horrible hack to appease CAFAna.
Definition: SRIDBranch.h:53
std::vector< SRTrkME > trkdiscrete
Definition: SRMichelE.h:23
float dedxp2c1
Definition: SRSLid.h:81
float eff
Slicer efficiency for this truth interaction.
Definition: SRCosmic.h:25
float W2
Invariant mass of final state squared. [GeV^2].
Definition: SRNeutrino.h:80
static constexpr double L
float time
Time of first Michel electron trajectory point [GeV].
Definition: SRTrueMichelE.h:23
float energy
reconstructed total energy for the best muon track
Definition: SRBpfId.h:33
Variables describing Michel E&#39;s found around the end of a track.
Definition: SRTrkME.h:15
float daughterVisE
Visible Energy in detector for all daughters of this particle, all summed FLSHits that made CellHits ...
Float_t E
Definition: plot.C:20
static Var nueid(const std::shared_ptr< CAFAnaModel > &model)
Definition: SliceLIDVar.h:83
float closestsliceminfrombottom
minimum distance to edge of detector in the closest slice
Definition: SRSlice.h:51
Vectors of reconstructed vertices found by various algorithms.
float dedx5
Definition: SRSLid.h:71
float meanysig
Mean hadronic y of matches that are signal.
Definition: SRLem.h:33
float totEscE
The total escaping energy, from the particle and all of its daughters, using truth information [GeV]...
unsigned char cvnobjmap[16000]
store 1D array with hit object id
Definition: SRPixelObjMap.h:34
float disttotrack
Distance between end of track and Michel hits [cm].
Definition: SRTrkME.h:29
unsigned int idxlongest
Definition: SRKalman.h:34
float bakdist
Projected live distance to the edge projected backwards from track start.
Definition: SRVeto.h:20
Reconstructed tracks found by various algorithms.
Definition: SRTrackBranch.h:18
bool numucontain
is this contained by Numu Standards? (can use as general containment)
Definition: SRContain.h:18
unsigned short maxplanecont
maximum number of contiguous planes in prong
float kdirscore
chisq score difference between +c and -c assumptions in Hough timing fit (TimingFit module) for best ...
Definition: SRCosRej.h:57
unsigned int nmiphit
number of minimum ionizing hits
Definition: SRSlice.h:24
unsigned short diblast
last diblock in detector configuration (1-14)
Definition: SRSpill.h:57
unsigned int firstplane
global position of first plane in map
Definition: SRPixelMap.h:24
int motherpdg
PDG Code of the mother of the best matched truth particle.
float ppenergy
"parent particle energy". Parent energy at production
Definition: SRBeam.h:61
const std::string cv[Ncv]
float fannid
ANN output, "fann" package.
Definition: SRLem.h:50
float lstmmuon
Muon Energy predicted by LSTM EE [GeV].
Definition: SRNumuEnergy.h:55
Truth information for a Michel electron.
Definition: SRTrueMichelE.h:15
float meanqfracsig
Fraction matched in signal matches.
Definition: SRLem.h:39
float time
Time [ns].
Definition: SRHoughVertex.h:25