From 534f1ca5c1fd0c62e2bb3b2e65f4fcbda24e7ed0 Mon Sep 17 00:00:00 2001 From: Linyan Wan Date: Wed, 8 Oct 2025 13:23:44 -0500 Subject: [PATCH 1/4] Add IsCC to flat GENIE tree --- sbncode/CAFMaker/CAFMaker_module.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sbncode/CAFMaker/CAFMaker_module.cc b/sbncode/CAFMaker/CAFMaker_module.cc index 6ede8b23b..b0324e947 100644 --- a/sbncode/CAFMaker/CAFMaker_module.cc +++ b/sbncode/CAFMaker/CAFMaker_module.cc @@ -263,6 +263,7 @@ class CAFMaker : public art::EDProducer { double fGenieEvtRec_brEvtXSec = 0.0; ////< Cross section for selected event (1e-38 cm2) double fGenieEvtRec_brEvtDXSec = 0.0; ////< Cross section for selected event kinematics (1e-38 cm2 / {K^n}) unsigned int fGenieEvtRec_brEvtKPS = 0; ////< Kinematic phase space variables. See $GENIE/src/Framework/Conventions/KinePhaseSpace.h -> KinePhaseSpace_t + bool fGenieEvtRec_brIsCC = 0; ////< Is weakCC double fGenieEvtRec_brEvtWght = 0.0; ////< Weight for that event double fGenieEvtRec_brEvtProb = 0.0; ////< Probability for that event (given cross section, path lengths, etc) double fGenieEvtRec_brEvtVtx[4] = {0.0}; ////< Event vertex position in detector coord syst (SI) @@ -1142,6 +1143,7 @@ void CAFMaker::InitializeOutfiles() fFlatGenieTree->Branch("GenieEvtRec.EvtXSec", &fGenieEvtRec_brEvtXSec, "GenieEvtRec.EvtXSec/D" ); fFlatGenieTree->Branch("GenieEvtRec.EvtDXSec", &fGenieEvtRec_brEvtDXSec, "GenieEvtRec.EvtDXSec/D" ); fFlatGenieTree->Branch("GenieEvtRec.EvtKPS", &fGenieEvtRec_brEvtKPS, "GenieEvtRec.EvtKPS/i" ); + fFlatGenieTree->Branch("GenieEvtRec.IsCC", &fGenieEvtRec_brIsCC, "GenieEvtRec.IsCC/O" ); fFlatGenieTree->Branch("GenieEvtRec.EvtWght", &fGenieEvtRec_brEvtWght, "GenieEvtRec.EvtWght/D" ); fFlatGenieTree->Branch("GenieEvtRec.EvtProb", &fGenieEvtRec_brEvtProb, "GenieEvtRec.EvtProb/D" ); fFlatGenieTree->Branch("GenieEvtRec.EvtVtx", fGenieEvtRec_brEvtVtx, "GenieEvtRec.EvtVtx[4]/D" ); @@ -1507,6 +1509,7 @@ void CAFMaker::produce(art::Event& evt) noexcept { fGenieEvtRec_brEvtXSec = genie_rec->XSec() * (1e+38/genie::units::cm2); fGenieEvtRec_brEvtDXSec = genie_rec->DiffXSec() * (1e+38/genie::units::cm2); fGenieEvtRec_brEvtKPS = genie_rec->DiffXSecVars(); + fGenieEvtRec_brIsCC = genie_rec->Summary()->ProcInfo().IsWeakCC(); fGenieEvtRec_brEvtWght = genie_rec->Weight(); fGenieEvtRec_brEvtProb = genie_rec->Probability(); fGenieEvtRec_brEvtVtx[0] = genie_rec->Vertex()->X(); @@ -1630,6 +1633,8 @@ void CAFMaker::produce(art::Event& evt) noexcept { // } // try to find the result of the Flash trigger if it was run + mf::LogInfo("CAFMaker") << " New Trigger Time = " << srtrigger.global_trigger_det_time << " us\n" + << " New Beam Gate Time = " << srtrigger.beam_gate_det_time << " us"; bool pass_flash_trig = false; art::Handle flashtrig_handle; GetByLabelStrict(evt, fParams.FlashTrigLabel(), flashtrig_handle); From f98a84b5c07fadec957850a88152819d3d8b070d Mon Sep 17 00:00:00 2001 From: Linyan Wan Date: Wed, 8 Oct 2025 16:40:13 -0500 Subject: [PATCH 2/4] Adding interaction type and scattering type --- sbncode/CAFMaker/CAFMaker_module.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sbncode/CAFMaker/CAFMaker_module.cc b/sbncode/CAFMaker/CAFMaker_module.cc index fc4d39a51..6904ad260 100644 --- a/sbncode/CAFMaker/CAFMaker_module.cc +++ b/sbncode/CAFMaker/CAFMaker_module.cc @@ -264,7 +264,8 @@ class CAFMaker : public art::EDProducer { double fGenieEvtRec_brEvtXSec = 0.0; ////< Cross section for selected event (1e-38 cm2) double fGenieEvtRec_brEvtDXSec = 0.0; ////< Cross section for selected event kinematics (1e-38 cm2 / {K^n}) unsigned int fGenieEvtRec_brEvtKPS = 0; ////< Kinematic phase space variables. See $GENIE/src/Framework/Conventions/KinePhaseSpace.h -> KinePhaseSpace_t - bool fGenieEvtRec_brIsCC = 0; ////< Is weakCC + int fGenieEvtRec_brSctType = 0; ////< See ScatteringType.h + int fGenieEvtRec_brIntType = 0; ////< See InteractionType.h double fGenieEvtRec_brEvtWght = 0.0; ////< Weight for that event double fGenieEvtRec_brEvtProb = 0.0; ////< Probability for that event (given cross section, path lengths, etc) double fGenieEvtRec_brEvtVtx[4] = {0.0}; ////< Event vertex position in detector coord syst (SI) @@ -1183,7 +1184,8 @@ void CAFMaker::InitializeOutfiles() fFlatGenieTree->Branch("GenieEvtRec.EvtXSec", &fGenieEvtRec_brEvtXSec, "GenieEvtRec.EvtXSec/D" ); fFlatGenieTree->Branch("GenieEvtRec.EvtDXSec", &fGenieEvtRec_brEvtDXSec, "GenieEvtRec.EvtDXSec/D" ); fFlatGenieTree->Branch("GenieEvtRec.EvtKPS", &fGenieEvtRec_brEvtKPS, "GenieEvtRec.EvtKPS/i" ); - fFlatGenieTree->Branch("GenieEvtRec.IsCC", &fGenieEvtRec_brIsCC, "GenieEvtRec.IsCC/O" ); + fFlatGenieTree->Branch("GenieEvtRec.SctType", &fGenieEvtRec_brSctType, "GenieEvtRec.SctType/I" ); + fFlatGenieTree->Branch("GenieEvtRec.IntType", &fGenieEvtRec_brIntType, "GenieEvtRec.IntType/I" ); fFlatGenieTree->Branch("GenieEvtRec.EvtWght", &fGenieEvtRec_brEvtWght, "GenieEvtRec.EvtWght/D" ); fFlatGenieTree->Branch("GenieEvtRec.EvtProb", &fGenieEvtRec_brEvtProb, "GenieEvtRec.EvtProb/D" ); fFlatGenieTree->Branch("GenieEvtRec.EvtVtx", fGenieEvtRec_brEvtVtx, "GenieEvtRec.EvtVtx[4]/D" ); @@ -1549,7 +1551,8 @@ void CAFMaker::produce(art::Event& evt) noexcept { fGenieEvtRec_brEvtXSec = genie_rec->XSec() * (1e+38/genie::units::cm2); fGenieEvtRec_brEvtDXSec = genie_rec->DiffXSec() * (1e+38/genie::units::cm2); fGenieEvtRec_brEvtKPS = genie_rec->DiffXSecVars(); - fGenieEvtRec_brIsCC = genie_rec->Summary()->ProcInfo().IsWeakCC(); + fGenieEvtRec_brSctType = genie_rec->Summary()->ProcInfo().ScatteringTypeId(); + fGenieEvtRec_brIntType = genie_rec->Summary()->ProcInfo().InteractionTypeId(); fGenieEvtRec_brEvtWght = genie_rec->Weight(); fGenieEvtRec_brEvtProb = genie_rec->Probability(); fGenieEvtRec_brEvtVtx[0] = genie_rec->Vertex()->X(); From 539709f16ca76066e86f65a7f7087a9f1eb98d51 Mon Sep 17 00:00:00 2001 From: linyan-w <53352772+linyan-w@users.noreply.github.com> Date: Wed, 22 Oct 2025 17:12:06 -0500 Subject: [PATCH 3/4] Update sbncode/CAFMaker/CAFMaker_module.cc Co-authored-by: Gianluca Petrillo --- sbncode/CAFMaker/CAFMaker_module.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbncode/CAFMaker/CAFMaker_module.cc b/sbncode/CAFMaker/CAFMaker_module.cc index 6904ad260..b1cde10b8 100644 --- a/sbncode/CAFMaker/CAFMaker_module.cc +++ b/sbncode/CAFMaker/CAFMaker_module.cc @@ -264,8 +264,8 @@ class CAFMaker : public art::EDProducer { double fGenieEvtRec_brEvtXSec = 0.0; ////< Cross section for selected event (1e-38 cm2) double fGenieEvtRec_brEvtDXSec = 0.0; ////< Cross section for selected event kinematics (1e-38 cm2 / {K^n}) unsigned int fGenieEvtRec_brEvtKPS = 0; ////< Kinematic phase space variables. See $GENIE/src/Framework/Conventions/KinePhaseSpace.h -> KinePhaseSpace_t - int fGenieEvtRec_brSctType = 0; ////< See ScatteringType.h - int fGenieEvtRec_brIntType = 0; ////< See InteractionType.h + int fGenieEvtRec_brSctType = 0; ///< See [`genie::EScatteringType`](https://hep.ph.liv.ac.uk/~costasa/genie_doxygen/master/html/namespacegenie.html#ab97d2b4d1f37af8d967dadd15be88d0b) + int fGenieEvtRec_brIntType = 0; ///< See [`genie::EInteractionType`](https://hep.ph.liv.ac.uk/~costasa/genie_doxygen/master/html/namespacegenie.html#a554f81bb9954c9e46bbabadfcd403111) double fGenieEvtRec_brEvtWght = 0.0; ////< Weight for that event double fGenieEvtRec_brEvtProb = 0.0; ////< Probability for that event (given cross section, path lengths, etc) double fGenieEvtRec_brEvtVtx[4] = {0.0}; ////< Event vertex position in detector coord syst (SI) From 298a8b0d7a3d1080b7bdd2394b4da87b06fc8a60 Mon Sep 17 00:00:00 2001 From: linyan-w <53352772+linyan-w@users.noreply.github.com> Date: Wed, 22 Oct 2025 17:12:15 -0500 Subject: [PATCH 4/4] Update sbncode/CAFMaker/CAFMaker_module.cc Co-authored-by: Gianluca Petrillo --- sbncode/CAFMaker/CAFMaker_module.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbncode/CAFMaker/CAFMaker_module.cc b/sbncode/CAFMaker/CAFMaker_module.cc index b1cde10b8..afb47992c 100644 --- a/sbncode/CAFMaker/CAFMaker_module.cc +++ b/sbncode/CAFMaker/CAFMaker_module.cc @@ -1184,8 +1184,8 @@ void CAFMaker::InitializeOutfiles() fFlatGenieTree->Branch("GenieEvtRec.EvtXSec", &fGenieEvtRec_brEvtXSec, "GenieEvtRec.EvtXSec/D" ); fFlatGenieTree->Branch("GenieEvtRec.EvtDXSec", &fGenieEvtRec_brEvtDXSec, "GenieEvtRec.EvtDXSec/D" ); fFlatGenieTree->Branch("GenieEvtRec.EvtKPS", &fGenieEvtRec_brEvtKPS, "GenieEvtRec.EvtKPS/i" ); - fFlatGenieTree->Branch("GenieEvtRec.SctType", &fGenieEvtRec_brSctType, "GenieEvtRec.SctType/I" ); - fFlatGenieTree->Branch("GenieEvtRec.IntType", &fGenieEvtRec_brIntType, "GenieEvtRec.IntType/I" ); + fFlatGenieTree->Branch("GenieEvtRec.SctType", &fGenieEvtRec_brSctType, "GenieEvtRec.SctType/I" ); + fFlatGenieTree->Branch("GenieEvtRec.IntType", &fGenieEvtRec_brIntType, "GenieEvtRec.IntType/I" ); fFlatGenieTree->Branch("GenieEvtRec.EvtWght", &fGenieEvtRec_brEvtWght, "GenieEvtRec.EvtWght/D" ); fFlatGenieTree->Branch("GenieEvtRec.EvtProb", &fGenieEvtRec_brEvtProb, "GenieEvtRec.EvtProb/D" ); fFlatGenieTree->Branch("GenieEvtRec.EvtVtx", fGenieEvtRec_brEvtVtx, "GenieEvtRec.EvtVtx[4]/D" );