diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index f6aa43877..647b05dc6 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,11 +1,11 @@ ## Description Please provide a detailed description of the changes this pull request introduces. -$${\color{red}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}$$ +$${\color{red}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}$$ $${\color{red}\bf{\textrm{IMPORTANT UPDATE June 22nd 2025:}}}$$ If you are making a PR which is intended as a patch for the CURRENT production (which started in Spring 2025), you must make two PRs: one for develop and one for the production/v10_06_00 branch. -$${\color{red}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}$$ +$${\color{red}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}$$ ## Checklist - [ ] Added at least 1 label from [available labels](https://github.com/SBNSoftware/sbndcode/issues/labels?sort=name-asc). diff --git a/CMakeLists.txt b/CMakeLists.txt index 44682d4c0..3c6cd72b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,7 +15,8 @@ cmake_minimum_required(VERSION 3.20 FATAL_ERROR) -set(${PROJECT_NAME}_CMAKE_PROJECT_VERSION_STRING 10.06.02) +set(${PROJECT_NAME}_CMAKE_PROJECT_VERSION_STRING 10.06.03) + find_package(cetmodules REQUIRED) project(sbndcode LANGUAGES CXX) diff --git a/sbndcode/Calibration/CMakeLists.txt b/sbndcode/Calibration/CMakeLists.txt index dbf8cb7e3..5affe3bed 100644 --- a/sbndcode/Calibration/CMakeLists.txt +++ b/sbndcode/Calibration/CMakeLists.txt @@ -2,3 +2,4 @@ add_subdirectory(OpReco) add_subdirectory(CRT) add_subdirectory(DQM) add_subdirectory(PDSDatabaseInterface) +add_subdirectory(TPCCalorimetry) diff --git a/sbndcode/Calibration/TPCCalorimetry/CMakeLists.txt b/sbndcode/Calibration/TPCCalorimetry/CMakeLists.txt new file mode 100644 index 000000000..4d0b6b4a5 --- /dev/null +++ b/sbndcode/Calibration/TPCCalorimetry/CMakeLists.txt @@ -0,0 +1,22 @@ + +set(TOOL_LIBRARIES + lardataobj::RecoBase + larreco::Calorimetry + larcorealg::Geometry + lardataalg::DetectorInfo + lardata::ArtDataHelper + canvas::canvas + art::Framework_Services_Registry + art::Utilities + fhiclcpp::fhiclcpp + cetlib::cetlib + cetlib_except::cetlib_except + ROOT::Core + ROOT::Hist +) + +cet_build_plugin(NormalizeYZ art::tool LIBRARIES ${TOOL_LIBRARIES}) + +install_headers() +install_fhicl() +install_source() diff --git a/sbndcode/Calibration/TPCCalorimetry/NormalizeYZ_tool.cc b/sbndcode/Calibration/TPCCalorimetry/NormalizeYZ_tool.cc new file mode 100644 index 000000000..d337c1931 --- /dev/null +++ b/sbndcode/Calibration/TPCCalorimetry/NormalizeYZ_tool.cc @@ -0,0 +1,143 @@ + +// Framework Includes +#include "art/Framework/Core/EDProducer.h" +#include "art/Framework/Principal/Event.h" +#include "art/Framework/Principal/Handle.h" +#include "art/Framework/Services/Registry/ServiceHandle.h" +#include "art/Utilities/ToolMacros.h" +#include "cetlib/cpu_timer.h" +#include "fhiclcpp/ParameterSet.h" +#include "messagefacility/MessageLogger/MessageLogger.h" + +#include "canvas/Persistency/Common/Ptr.h" + +// Tool include +#include "larreco/Calorimetry/INormalizeCharge.h" + +// Services +#include "lardata/DetectorInfoServices/DetectorClocksService.h" + +// ROOT includes +#include "TFile.h" +#include "TH2F.h" + +// C++ includes +#include +#include +#include +#include + + + +namespace sbnd { + namespace calo { + + class NormalizeYZ : public INormalizeCharge{ + public: + explicit NormalizeYZ(fhicl::ParameterSet const& pset); + + void configure(const fhicl::ParameterSet& pset) override; + + double Normalize(double dQdx, + const art::Event& evt, + const recob::Hit& hit, + const geo::Point_t& location, + const geo::Vector_t& direction, + double t0) override; + + private: + void reconfigure(const fhicl::ParameterSet& pset); + + std::map fCorrHists; + std::string fFileName; + bool fVerbose; + }; + + NormalizeYZ::NormalizeYZ(fhicl::ParameterSet const& pset){ + reconfigure(pset); // delegate config to reusable function + } + + void NormalizeYZ::configure(const fhicl::ParameterSet& pset){ + reconfigure(pset); + } + + void NormalizeYZ::reconfigure(const fhicl::ParameterSet& pset){ + fFileName = pset.get("FileName"); + fVerbose = pset.get("Verbose", false); + + std::string fname; + cet::search_path sp("FW_SEARCH_PATH"); + sp.find_file(fFileName, fname); + + TFile* f = TFile::Open(fname.c_str(), "READ"); + if (!f || f->IsZombie()) { + throw cet::exception("NormalizeYZ") << "Failed to open correction map file: " << fFileName; + } + + for (int plane = 0; plane < 3; plane++){ // planes : 2 inductions (idx : 0, 1) and 1 collection (idx : 2) + for (int tpc = 0; tpc < 2; tpc++){ // tpc : east (idx : 0) and west (idx : 1) TPCs + std::string histname = Form("CzyHist_%d_%d", plane, tpc); + TH2F* h = (TH2F*)f->Get(histname.c_str()); + if (!h) { + throw cet::exception("NormalizeYZ") << "Missing histogram in file: " << histname; + } + + fCorrHists[Form("plane%d_%d", plane, tpc)] = (TH2F*)h->Clone(); + fCorrHists[Form("plane%d_%d", plane, tpc)]->SetDirectory(nullptr); + } + } + f->Close(); + } + + double NormalizeYZ::Normalize(double dQdx, + const art::Event& evt, + const recob::Hit& hit, + const geo::Point_t& location, + const geo::Vector_t&, + double){ + + int plane = hit.WireID().Plane; + //int tpc = hit.WireID().TPC; + + // just to be sure and consistent with the logic of input YZ map + // seems like current setup of directly calling hit.WireID().TPC has a tolerance of 30cm + // meaning - an approx region of -30second; + int binX = hCorr->GetXaxis()->FindBin(location.Z()); + int binY = hCorr->GetYaxis()->FindBin(location.Y()); + double scale = hCorr->GetBinContent(binX, binY); + + if (fVerbose){ + std::cout << "[NormalizeYZ] Plane: " << plane << ", TPC: " << tpc + << ", Y: " << location.Y() << ", Z: " << location.Z() + << ", Scale: " << scale << ", dQdx (raw): " << dQdx + << ", dQdx (corrected): " << dQdx / scale << std::endl; + } + + if (scale < 1e-3){ + mf::LogWarning("NormalizeYZ") << "Invalid scale at (Y,Z)=(" << location.Y() << "," << location.Z() << "). Returning uncorrected dQdx"; + return dQdx; + } + + return dQdx / scale; + } + + DEFINE_ART_CLASS_TOOL(NormalizeYZ) + + } // namespace calo +} // namespace sbnd + diff --git a/sbndcode/Calibration/TPCCalorimetry/normtools_sbnd.fcl b/sbndcode/Calibration/TPCCalorimetry/normtools_sbnd.fcl new file mode 100644 index 000000000..23ccbc1c7 --- /dev/null +++ b/sbndcode/Calibration/TPCCalorimetry/normtools_sbnd.fcl @@ -0,0 +1,19 @@ +BEGIN_PROLOG + +yznorm_hist_data: { + tool_type: NormalizeYZ + FileName: "YZmaps/yz_correction_map_data1e20.root" + Verbose: false +} + +yznorm_hist_mc: { + tool_type: NormalizeYZ + FileName: "YZmaps/yz_correction_map_mcp2025b5e18.root" + Verbose: false +} + +# list of normalization tools - by far only YZ correction is implemented +sbnd_calonormtoolsdata: [@local::yznorm_hist_data] +sbnd_calonormtoolsmc: [@local::yznorm_hist_mc] + +END_PROLOG diff --git a/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd.fcl b/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd.fcl index 2281046cf..d18bc079b 100644 --- a/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd.fcl +++ b/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd.fcl @@ -157,6 +157,7 @@ physics.producers.cafmaker.TPCPMTBarycenterMatchLabel: "tpcpmtbarycentermatching # Overwrite weight_functions label: physics.producers.fluxweight.weight_functions: @local::physics.producers.fluxweight.weight_functions_flux +physics.producers.geant4weight.weight_functions: @local::physics.producers.geant4weight.weight_functions_reint # input art file. physics.producers.cafmaker.SystWeightLabels: [] diff --git a/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd_g4rw.fcl b/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd_g4rw.fcl new file mode 100644 index 000000000..00a056887 --- /dev/null +++ b/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd_g4rw.fcl @@ -0,0 +1,4 @@ +#include "cafmakerjob_sbnd.fcl" + +physics.runprod: [rns, geant4weight , @sequence::physics.runprod] +physics.producers.cafmaker.SystWeightLabels: [ "geant4weight" ] diff --git a/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd_sce_systtools_and_fluxwgt_and_g4rw.fcl b/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd_sce_systtools_and_fluxwgt_and_g4rw.fcl new file mode 100644 index 000000000..52cf2b49c --- /dev/null +++ b/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd_sce_systtools_and_fluxwgt_and_g4rw.fcl @@ -0,0 +1,4 @@ +#include "cafmakerjob_sbnd_sce.fcl" + +physics.runprod: [rns, systtools, fluxweight, geant4weight, @sequence::physics.runprod] +physics.producers.cafmaker.SystWeightLabels: [ "systtools", "fluxweight", "geant4weight" ] \ No newline at end of file diff --git a/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd_systtools_and_fluxwgt_and_g4rw.fcl b/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd_systtools_and_fluxwgt_and_g4rw.fcl new file mode 100644 index 000000000..6f4901a68 --- /dev/null +++ b/sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd_systtools_and_fluxwgt_and_g4rw.fcl @@ -0,0 +1,4 @@ +#include "cafmakerjob_sbnd.fcl" + +physics.runprod: [rns, systtools, fluxweight, geant4weight, @sequence::physics.runprod] +physics.producers.cafmaker.SystWeightLabels: [ "systtools", "fluxweight", "geant4weight" ] \ No newline at end of file diff --git a/sbndcode/JobConfigurations/standard/detsim/detector_variations/CMakeLists.txt b/sbndcode/JobConfigurations/standard/detsim/detector_variations/CMakeLists.txt index 13355789a..9763efce2 100644 --- a/sbndcode/JobConfigurations/standard/detsim/detector_variations/CMakeLists.txt +++ b/sbndcode/JobConfigurations/standard/detsim/detector_variations/CMakeLists.txt @@ -1 +1,2 @@ install_fhicl() +add_subdirectory(pmt_variations) \ No newline at end of file diff --git a/sbndcode/JobConfigurations/standard/detsim/detector_variations/pmt_variations/CMakeLists.txt b/sbndcode/JobConfigurations/standard/detsim/detector_variations/pmt_variations/CMakeLists.txt new file mode 100644 index 000000000..eca2a52d6 --- /dev/null +++ b/sbndcode/JobConfigurations/standard/detsim/detector_variations/pmt_variations/CMakeLists.txt @@ -0,0 +1 @@ +install_fhicl() \ No newline at end of file diff --git a/sbndcode/LArSoftConfigurations/calorimetry_sbnd.fcl b/sbndcode/LArSoftConfigurations/calorimetry_sbnd.fcl index 9ad975d52..1c4c9e8fb 100644 --- a/sbndcode/LArSoftConfigurations/calorimetry_sbnd.fcl +++ b/sbndcode/LArSoftConfigurations/calorimetry_sbnd.fcl @@ -1,4 +1,5 @@ #include "calorimetry.fcl" +#include "normtools_sbnd.fcl" BEGIN_PROLOG @@ -21,11 +22,13 @@ sbnd_gnewcalomc: @local::standard_gnocchicalo sbnd_gnewcalomc.CaloAlg: @local::sbnd_calorimetryalgmc sbnd_gnewcalomc.ChargeMethod: 3 sbnd_gnewcalomc.SpacePointModuleLabel: @erase +sbnd_gnewcalomc.NormTools: @local::sbnd_calonormtoolsmc # YZ normalization for MC sbnd_gnewcalodata: @local::standard_gnocchicalo sbnd_gnewcalodata.CaloAlg: @local::sbnd_calorimetryalgdata sbnd_gnewcalodata.ChargeMethod: 3 sbnd_gnewcalodata.SpacePointModuleLabel: @erase +sbnd_gnewcalodata.NormTools: @local::sbnd_calonormtoolsdata # YZ normalization for Data # gputnam 19Aug2024: Upate calibration to EMB # Values from: https://arxiv.org/abs/2407.12969 diff --git a/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/chndb-base.jsonnet b/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/chndb-base.jsonnet index f08a523b7..58fa170bb 100644 --- a/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/chndb-base.jsonnet +++ b/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/chndb-base.jsonnet @@ -86,6 +86,7 @@ function(params, anode, field, n, rms_cuts=[]) roi_min_max_ratio: 0.8, // default 0.8 min_rms_cut: 1.0, // units??? max_rms_cut: 30.0, // units??? + protection_factor: 2.0, // parameter used to make "rcrc" spectrum rcrc: 0.5 * wc.millisecond, // 1.1 for collection, 3.3 for induction @@ -117,8 +118,9 @@ function(params, anode, field, n, rms_cuts=[]) /// this uses hard-coded waveform. response: { waveform: handmade.u_resp, waveformid: wc.Ulayer }, response_offset: 125.6, // offset of the negative peak - pad_window_front: 20, - decon_limit: 0.02, + pad_window_front: 120, // 20, + pad_window_back: 25, // 20 + decon_limit: 0.002, // 0.02, decon_limit1: 0.07, roi_min_max_ratio: 3.0, }, @@ -137,7 +139,9 @@ function(params, anode, field, n, rms_cuts=[]) /// this uses hard-coded waveform. response: { waveform: handmade.v_resp, waveformid: wc.Vlayer }, response_offset: 129.5, - decon_limit: 0.01, + pad_window_front: 40, // 20 + pad_window_back: 30, // 20 + decon_limit: 0.002, // 0.01, decon_limit1: 0.08, roi_min_max_ratio: 1.5, }, @@ -151,10 +155,14 @@ function(params, anode, field, n, rms_cuts=[]) { //channels: { wpid: wc.WirePlaneId(wc.Wlayer) }, -// channels: std.range(n * 2560 + 1600, n * 2560 + 2560- 1), + // channels: std.range(n * 2560 + 1600, n * 2560 + 2560- 1), channels: std.range(n * 5638 + 3968, n * 5638 + 5638-1), + response: { waveform: handmade.w_resp, waveformid: wc.Wlayer }, + response_offset: 129, nominal_baseline: 650, - decon_limit: 0.05, + pad_window_front: 30, // 20 + pad_window_back: 30, // 20 + decon_limit: 0.0025, decon_limit1: 0.08, freqmasks: freqbinner.freqmasks(harmonic_freqs, 5.0*wc.kilohertz), }, diff --git a/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/chndb-resp.jsonnet b/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/chndb-resp.jsonnet index 88226c953..de6a58596 100644 --- a/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/chndb-resp.jsonnet +++ b/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/chndb-resp.jsonnet @@ -10,4 +10,7 @@ u_resp : [ v_resp : [ 2.7027618940000003e-07,7.430170020000002e-05,0.0017782846129999997,0.00862459381,0.0221973409,0.040657049300000005,0.060399728900000005,0.07818915720000001,0.0922499172,0.1022825461,0.10893164169999998,0.11318773480000002,0.11598667989999999,0.1180232025,0.11972972550000001,0.12133833390000004,0.12295098550000003,0.12460414889999999,0.12630360959999998,0.1280483169,0.1298349458,0.1316642278,0.13353644220000002,0.1354572415,0.1374271843,0.13944674940000001,0.14151809140000005,0.1436430989,0.1458242324,0.14806054759999998,0.15035552910000002,0.1527118502,0.1551294311,0.15761171649999997,0.1601611403,0.1627785537,0.1654673482,0.16822923950000002,0.1710668477,0.1739826732,0.17697880410000005,0.1800579137,0.18322338020000004,0.1864783424,0.18982572629999997,0.1932679525,0.19680971590000002,0.20045265239999996,0.2042015633,0.20805932140000002,0.21202894579999998,0.21611615550000007,0.220323943,0.2246573756,0.2291177168,0.2337133988,0.23844773330000008,0.24332437780000002,0.24834934390000002,0.25352800480000004,0.258864417,0.2643662147,0.2700364968,0.27588170050000005,0.28190842259999993,0.28812292740000006,0.2945313196,0.3011408743,0.3079578558,0.31498868799999996,0.32224077900000003,0.329720699,0.33743578960000004,0.3453944032,0.35360318979999994,0.3620707944,0.37080522360000007,0.37981498939999997,0.3891070078,0.3986889928,0.4085703608,0.41875764209999994,0.4292590428000001,0.4400839128000001,0.45123745240000007,0.46273000900000005,0.4745681528,0.48675997019999995,0.4993126764500001,0.5122327924070001,0.5255267689700001,0.53919979141,0.5532587918199999,0.5677083587000001,0.5825553748000001,0.59780250943,0.6134535384600002,0.6295113440000001,0.6459782735,0.6628567449,0.6801454933700001,0.6978454007000001,0.7159524063999998,0.73446206694,0.7533665698999998,0.7726554934,0.7923100472000002,0.8123105539500001,0.8326239166000001,0.8532032460000001,0.8739996314000004,0.8949384066,0.9159221890000001,0.936831917,0.9575180719999998,0.9778004389999998,0.9974349629999999,1.0161374230000002,1.0371451720000002,1.1666701480000004,2.250862075000001,5.966484670999999,12.879900560800005,20.592172412000004,24.042244947,19.470110064999997,7.324775633,-8.013183978799999,-20.6681403362,-26.9779757058,-26.909867789000003,-22.7293312442,-16.9641049529,-11.418605780400002,-7.001344819210001,-3.9266593179099996,-2.0149885553699995,-0.9443304889200002,-0.4039790811,-0.16002736371299997,-0.06171746270899998,-0.025761063903399994,-0.011875130514799997,-0.0053241077502200005,-0.00205456946709,-0.00017071601423520002,-0.00010105296083399999,-0.000226570376312,-0.000186611240788,4.3499331120000015e-07,2.127716577e-07,-2.1503892200000003e-07,3.539106193e-07,3.1053418549999995e-07,6.860861525e-07,3.5306020399999996e-07,6.252263633000001e-07,1.0712758314999999e-06,6.119958957e-07,1.0622040211999998e-06,5.065312979999999e-07,5.019957054e-07,1.3872952030000004e-07,-3.9350672759999994e-07,-2.1470912190000007e-07,-4.694870873000001e-07,-1.5120308489999998e-07,-2.3398725910000005e-07,1.2323115000000001e-07,2.419257099e-07,4.929234296000001e-07,2.0110098218000002e-07,2.646059073e-07,2.846406283e-07,1.9807651430000003e-07,-5.195725465e-07,-1.4685612619999997e-07,-3.5249335800000006e-07,-1.961860523e-07,-3.288687009999998e-08,-2.3247556780000008e-07,2.5043083379999996e-07,2.8917445200000016e-08,2.0620405120000005e-07,5.135248463099998e-07,6.817383027e-07,7.477015014e-07,1.0565363060000003e-07,3.451220324999999e-07,-1.8522364699999968e-08,-6.74739324e-08,-3.388855693999999e-07,-4.1582848999999675e-09,-3.4361038109999997e-07,4.536105581e-07,1.1831662709999995e-07,5.632331215000001e-07,2.7745921349999995e-07,4.037132008e-07,4.902771950999999e-07], + +w_resp: [ + 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29333333333333333,0.88,2.0533333333333332,3.813333333333333,6.746666666666666,11.44,18.186666666666664,26.986666666666665,36.666666666666664,46.05333333333333,52.8,55.43999999999999,52.8,46.05333333333333,36.666666666666664,26.986666666666665,18.186666666666664,11.44,6.746666666666666,3.813333333333333,2.0533333333333337,0.88,0.29333333333333333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0], } diff --git a/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/nf-data.jsonnet b/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/nf-data.jsonnet index 4dd81f502..01c885abf 100644 --- a/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/nf-data.jsonnet +++ b/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/nf-data.jsonnet @@ -28,6 +28,8 @@ function(params, anode, chndbobj, n, name='', dft=default_dft) anode: wc.tn(anode), dft: wc.tn(dft), rms_threshold: 0.0, + correlation_threshold: 1.0, + default_scaling: 1.0, }, }, local sticky = { diff --git a/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/nf.jsonnet b/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/nf.jsonnet index 4dd81f502..01c885abf 100644 --- a/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/nf.jsonnet +++ b/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/nf.jsonnet @@ -28,6 +28,8 @@ function(params, anode, chndbobj, n, name='', dft=default_dft) anode: wc.tn(anode), dft: wc.tn(dft), rms_threshold: 0.0, + correlation_threshold: 1.0, + default_scaling: 1.0, }, }, local sticky = { diff --git a/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/wcls-sim-drift-depoflux-nf-sp.jsonnet b/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/wcls-sim-drift-depoflux-nf-sp.jsonnet index f9a2ddfe0..b2bdf09df 100644 --- a/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/wcls-sim-drift-depoflux-nf-sp.jsonnet +++ b/sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/wcls-sim-drift-depoflux-nf-sp.jsonnet @@ -127,11 +127,11 @@ local wcls_depoflux_writer = g.pnode({ anodes: [wc.tn(anode) for anode in tools.anodes], field_response: wc.tn(tools.field), tick: 0.5 * wc.us, - window_start: 0.0 * wc.ms, + window_start: params.sim.tick0_time, // -205 * wc.us, window_duration: self.tick * params.daq.nticks, nsigma: 3.0, - reference_time: -1700 * wc.us, + reference_time: - 1700 * wc.us - self.window_start, // target is tick 410 should be 3400 //energy: 1, # equivalent to use_energy = true simchan_label: 'simpleSC', diff --git a/ups/product_deps b/ups/product_deps index b49548b34..2e5ec4b44 100644 --- a/ups/product_deps +++ b/ups/product_deps @@ -253,9 +253,9 @@ wpdir product_dir wire-cell-cfg # #################################### product version qual flags -sbncode v10_06_00_03 - +sbncode v10_06_00_04 - cetmodules v3_24_01 - only_for_build -sbnd_data v01_33_00 - +sbnd_data v01_34_00 - sbndutil v10_06_01 - optional fhiclpy v4_03_05 - end_product_list