Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions fcl/reco/Definitions/stage1_icarus_defs.fcl
Original file line number Diff line number Diff line change
Expand Up @@ -225,15 +225,15 @@ icarus_stage1_filters.TPCHitFilterCryoE.MaximumHits: 60000

## Definitions for running the 3D clustering by Cryostat
icarus_stage1_producers.cluster3DCryoW.MakeSpacePointsOnly: true
icarus_stage1_producers.cluster3DCryoW.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit1dTPCWW", "gaushit1dTPCWE"]
icarus_stage1_producers.cluster3DCryoW.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit2dTPCWW", "gaushit2dTPCWE"]
icarus_stage1_producers.cluster3DCryoW.Hit3DBuilderAlg.PulseHeightFraction: 0. #0.75 #0.25
icarus_stage1_producers.cluster3DCryoW.Hit3DBuilderAlg.PHLowSelection: 0. #4.0 # 20.
icarus_stage1_producers.cluster3DCryoW.Hit3DBuilderAlg.MaxHitChiSquare: 1000000.
icarus_stage1_producers.cluster3DCryoW.Hit3DBuilderAlg.MaxMythicalChiSquare: 30.
icarus_stage1_producers.cluster3DCryoW.Hit3DBuilderAlg.OutputHistograms: false

icarus_stage1_producers.cluster3DCryoE.MakeSpacePointsOnly: true
icarus_stage1_producers.cluster3DCryoE.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit1dTPCEW", "gaushit1dTPCEE"]
icarus_stage1_producers.cluster3DCryoE.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit2dTPCEW", "gaushit2dTPCEE"]
icarus_stage1_producers.cluster3DCryoE.Hit3DBuilderAlg.PulseHeightFraction: 0. #0.75 #0.25
icarus_stage1_producers.cluster3DCryoE.Hit3DBuilderAlg.PHLowSelection: 0. #4.0 # 20.
icarus_stage1_producers.cluster3DCryoE.Hit3DBuilderAlg.MaxHitChiSquare: 1000000.
Expand Down
7 changes: 6 additions & 1 deletion fcl/reco/Stage0/Run2/stage0_run2_icarus_mc.fcl
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,12 @@ physics.end_paths: [ outana, streamROOT ]

# Drop data products that are no longer needed, but make sure to keep important items!
# For example, we need to drop the RawDigits from the detector simulation stage but want to keep the SimChannel info from WireCell...
outputs.rootOutput.outputCommands: ["keep *_*_*_*", "drop *_daq*_*_*", "drop *_MCDecodeTPCROI_*_*", "drop *_decon1droi_*_*", "drop recob::Wire*_roifinder_*_*", "keep *_daq_simpleSC_*"]
outputs.rootOutput.outputCommands: ["keep *_*_*_*",
"drop *_daq*_*_*",
"drop *_MCDecodeTPCROI_*_*",
"drop *_decon1droi_*_*",
"drop recob::Wire*_roifinder_*_*",
"keep *_daq_simpleSC_*"]

# Set the expected input for ophit
physics.producers.ophit.InputModule: "opdaq"
Expand Down
8 changes: 4 additions & 4 deletions fcl/reco/Stage0/Run2/stage0_run2_wc_icarus.fcl
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ physics.analyzers.purityinfoana0.SelectEvents: [ path ]
physics.analyzers.purityinfoana1.SelectEvents: [ path ]

# Add below as per Gray Putnam (should we move to jsonnet files?)
physics.producers.decon2droiEE.wcls_main.structs.gain0: 10.2636323
physics.producers.decon2droiEW.wcls_main.structs.gain0: 10.2636323
physics.producers.decon2droiWE.wcls_main.structs.gain0: 10.2636323
physics.producers.decon2droiWW.wcls_main.structs.gain0: 10.2636323
physics.producers.decon2droiEE.wcls_main.structs.gain0: 17.05212
physics.producers.decon2droiEW.wcls_main.structs.gain0: 17.05212
physics.producers.decon2droiWE.wcls_main.structs.gain0: 17.05212
physics.producers.decon2droiWW.wcls_main.structs.gain0: 17.05212


physics.producers.decon2droiEE.wcls_main.structs.gain1: 12.1420344
Expand Down
28 changes: 7 additions & 21 deletions fcl/reco/Stage0/Run2/stage0_run2_wc_icarus_mc.fcl
Original file line number Diff line number Diff line change
Expand Up @@ -26,26 +26,12 @@ physics.end_paths: [ outana, streamROOT ]

# Drop the artdaq format files on output
outputs.rootOutput.outputCommands: ["keep *_*_*_*",
"drop *_daq_*_*",
"drop *_daq*_*_*",
"drop *_MCDecodeTPCROI_*_*",
"drop *_decon1droi_*_*",
"drop *_decon2Droi*_*_*",
"drop *_decon2droi*_*_*",
"drop recob::Wire*_roifinder*_*_*",
"keep *_daq_simpleSC_*" ]

# Drop the daq format files on output,
# Drop all output from the TPC decoder stage
# Drop all output from the 1D deconvolution stage
# Drop all ouptut for the first running of the ROI finder (on the 1Dsingularity shell --nv -B /cvmfs,/media/usher/analysis/LArSoft/ICARUS slf7-essentials_latest.sif decon)
# Drop all output from the 2D deconvolution stage
# Drop the recob::Wire output from the roifinder2d (but keep the ChannelROIs)
outputs.rootOutput.outputCommands: ["keep *_*_*_*",
"drop *_daq_*_*",
"drop *_MCDecodeTPCROI_*_*",
"drop *_decon1droi_*_*",
"drop *_decon2droi*_*_*",
"drop recob::Wire*_roifinder*_*_*"
]
"keep *_daq_simpleSC*_*"]

# Set the expected input for ophit
physics.producers.ophit.InputModule: "opdaq"
Expand All @@ -62,10 +48,10 @@ physics.producers.decon2droiWE.wcls_main.params.raw_input_label: "MCDecodeTPCRO
physics.producers.decon2droiWW.wcls_main.params.raw_input_label: "MCDecodeTPCROI:PHYSCRATEDATATPCWW"

# As per Gray Putname...
physics.producers.decon2droiEE.wcls_main.structs.gain0: 10.2636323
physics.producers.decon2droiEW.wcls_main.structs.gain0: 10.2636323
physics.producers.decon2droiWE.wcls_main.structs.gain0: 10.2636323
physics.producers.decon2droiWW.wcls_main.structs.gain0: 10.2636323
physics.producers.decon2droiEE.wcls_main.structs.gain0: 17.05212
physics.producers.decon2droiEW.wcls_main.structs.gain0: 17.05212
physics.producers.decon2droiWE.wcls_main.structs.gain0: 17.05212
physics.producers.decon2droiWW.wcls_main.structs.gain0: 17.05212


physics.producers.decon2droiEE.wcls_main.structs.gain1: 12.1420344
Expand Down
6 changes: 3 additions & 3 deletions fcl/reco/Stage0/Run2/stage0_run2_wc_raw_icarus_mc.fcl
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
# Drop all output from the 2D deconvolution stage
# Drop the recob::Wire output from the roifinder2d (but keep the ChannelROIs)
outputs.rootOutput.outputCommands: ["keep *_*_*_*",
#"drop *_daq_*_*", # Temporarily remove
"drop *_daq_*_*",
"drop *_MCDecodeTPCROI_*_*",
"drop *_decon1droi_*_*",
"drop *_decon2droi*_*_*",
"drop recob::Wire*_roifinder*_*_*",
"keep raw::RawDigit*_MCDecodeTPCROI_*_*"
#"keep *_daq_simpleSC*_*" # Temporarily remove
"keep raw::RawDigit*_MCDecodeTPCROI_*_*",
"keep *_daq_simpleSC*_*"
]

Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Modify to use 2D deconvolution

#
#include "stage1_run2_icarus.fcl"

physics.producers.cluster3DCryoW.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit2dTPCWW", "gaushit2dTPCWE"]
physics.producers.cluster3DCryoE.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit2dTPCEW", "gaushit2dTPCEE"]
physics.producers.cluster3DCryoW.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit1dTPCWW", "gaushit1dTPCWE"]
physics.producers.cluster3DCryoE.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit1dTPCEW", "gaushit1dTPCEE"]
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# This extends to the 2D deconvolution

#include "stage1_run2_icarus_MC.fcl"

physics.producers.cluster3DCryoW.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit2dTPCWW", "gaushit2dTPCWE"]
physics.producers.cluster3DCryoE.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit2dTPCEW", "gaushit2dTPCEE"]
physics.producers.cluster3DCryoW.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit1dTPCWW", "gaushit1dTPCWE"]
physics.producers.cluster3DCryoE.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit1dTPCEW", "gaushit1dTPCEE"]
7 changes: 7 additions & 0 deletions fcl/reco/Stage1/Run2/stage1_run2_1d_larcv_icarus.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# This includes running larcv as part of stage 1 processing

#include "stage1_run2_1d_icarus.fcl"

physics.outana: [ @sequence::icarus_analysis_larcv_modules ]
physics.end_paths: [ outana, stream1 ]

6 changes: 6 additions & 0 deletions fcl/reco/Stage1/Run2/stage1_run2_1d_larcv_icarus_MC.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# This runs larcv as part of stage 1 processing for MC

#include "stage1_run2_1d_icarus_MC.fcl"

physics.outana: [ @sequence::icarus_analysis_modules, @sequence::icarus_analysis_superaMC]
physics.end_paths: [ outana, stream1 ]
2 changes: 1 addition & 1 deletion fcl/reco/Stage1/Run2/stage1_run2_larcv_icarus.fcl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This includes running larcv as part of stage 1 processing

#include "stage1_icarus_driver_common.fcl"
#include "stage1_run2_icarus.fcl"

physics.outana: [ @sequence::icarus_analysis_larcv_modules ]
physics.end_paths: [ outana, stream1 ]
Expand Down
9 changes: 0 additions & 9 deletions fcl/reco/Stage1/Run2/stage1_run2_wc_larcv_icarus.fcl

This file was deleted.

6 changes: 0 additions & 6 deletions fcl/reco/Stage1/Run2/stage1_run2_wc_larcv_icarus_MC.fcl

This file was deleted.

12 changes: 6 additions & 6 deletions icaruscode/Analysis/tools/HitEfficiencyAnalysis_tool.cc
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
#include "larcore/Geometry/Geometry.h"
#include "larcore/CoreUtils/ServiceUtil.h" // lar::providerFrom()

#include "lardataobj/RecoBase/Wire.h"
#include "lardataobj/RecoBase/Hit.h"
#include "lardataobj/Simulation/SimChannel.h"
#include "sbnobj/ICARUS/TPC/ChannelROI.h"
#include "nusimdata/SimulationBase/MCParticle.h"

#include "TH1.h"
Expand Down Expand Up @@ -346,7 +346,7 @@ void HitEfficiencyAnalysis::fillHistograms(const art::Event& event) const
// Loop over entries in the two producer vectors
for(size_t tpcID = 0; tpcID < fWireProducerLabelVec.size(); tpcID++)
{
art::Handle< std::vector<recob::Wire> > wireHandle;
art::Handle< std::vector<recob::ChannelROI> > wireHandle;
event.getByLabel(fWireProducerLabelVec[tpcID], wireHandle);

art::Handle< std::vector<recob::Hit> > hitHandle;
Expand All @@ -366,7 +366,7 @@ void HitEfficiencyAnalysis::fillHistograms(const art::Event& event) const
// what needs to be done?
// First we should build out a straightforward channel to Wire map so we can look up a given
// channel's Wire data as we loop over SimChannels.
using ChanToWireMap = std::map<raw::ChannelID_t,const recob::Wire*>;
using ChanToWireMap = std::map<raw::ChannelID_t,const recob::ChannelROI*>;

ChanToWireMap channelToWireMap;

Expand Down Expand Up @@ -458,8 +458,8 @@ void HitEfficiencyAnalysis::fillHistograms(const art::Event& event) const

if (wireItr != channelToWireMap.end())
{
const recob::Wire::RegionsOfInterest_t& signalROI = wireItr->second->SignalROI();
const lar::sparse_vector<float>::datarange_t* wireRangePtr(NULL);
const recob::ChannelROI::RegionsOfInterest_t& signalROI = wireItr->second->SignalROI();
const lar::sparse_vector<short>::datarange_t* wireRangePtr(NULL);

// Here we need to match the range of the ROI's on the given Wire with the tick range from the SimChannel
for(const auto& range : signalROI.get_ranges())
Expand All @@ -469,7 +469,7 @@ void HitEfficiencyAnalysis::fillHistograms(const art::Event& event) const
// #################################################
//std::vector<float> signal(wire->Signal());

const std::vector<float>& signal = range.data();
const std::vector<short>& signal = range.data();
raw::TDCtick_t roiFirstBinTick = range.begin_index();
raw::TDCtick_t roiLastBinTick = roiFirstBinTick + signal.size();

Expand Down
15 changes: 10 additions & 5 deletions icaruscode/TPC/ICARUSWireCell/detsimmodules_wirecell_ICARUS.fcl
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@ icarus_simwire_wirecell:
]
// Make available parameters via Jsonnet's std.extVar()
params: {
files_fields: "garfield-icarus-fnal-rev2.json.bz2"
// Changing this to match Gray's latest data drive field responses
//files_fields: "garfield-icarus-fnal-rev2.json.bz2"
files_fields: "icarus_fnal_fit_ks_P0nom.json.bz2"
file_rcresp: "" # use the RCResponse by default
}
structs: {
Expand All @@ -53,9 +55,12 @@ icarus_simwire_wirecell:
coh_noise_scale: 1.0

# Gain and shaping time
gain0: 14.9654 # mV/fC
gain1: 14.9654 # mV/fC
gain2: 14.9654 # mV/fC
//gain0: 14.9654 # mV/fC
//gain1: 14.9654 # mV/fC
//gain2: 14.9654 # mV/fC
gain0: 17.05212 # mV/fC
gain1: 12.6181926 # mV/fC
gain2: 13.0261362 # mV/fC

shaping0: 1.3 # us
shaping1: 1.3 # us
Expand All @@ -74,7 +79,7 @@ icarus_simwire_wirecell_fitSR: @local::icarus_simwire_wirecell
# Add in the ER tail
icarus_simwire_wirecell_fitSR.wcls_main.params.file_rcresp: "icarus_fnal_rc_tail.json"
# Add in the tuned field responses
icarus_simwire_wirecell_fitSR.wcls_main.params.files_fields: "icarus_fnal_fit_ks.json.bz2"
icarus_simwire_wirecell_fitSR.wcls_main.params.files_fields: "icarus_fnal_fit_ks_P0nom.json.bz2"
# futz with shaping+gain values (note these are really just scale factors and should not be taken literally)
icarus_simwire_wirecell_fitSR.wcls_main.structs.gain0: 11.9918701 # mV/fC
icarus_simwire_wirecell_fitSR.wcls_main.structs.gain1: 12.6181926 # mV/fC
Expand Down
2 changes: 1 addition & 1 deletion icaruscode/TPC/ICARUSWireCell/icarus/params.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ base {
files: {
wires: "icarus-wires-dualanode-v5.json.bz2",

fields: ["garfield-icarus-fnal-rev2.json.bz2"],
fields: ["icarus_fnal_fit_ks_P0nom.json.bz2"],

// noise: ["icarus_noise_model_int_TPCEE.json.bz2","icarus_noise_model_int_TPCEW.json.bz2","icarus_noise_model_int_TPCWE.json.bz2","icarus_noise_model_int_TPCWW.json.bz2"],
// coherent_noise: ["icarus_noise_model_coh_TPCEE.json.bz2","icarus_noise_model_coh_TPCEW.json.bz2","icarus_noise_model_coh_TPCWE.json.bz2","icarus_noise_model_coh_TPCWW.json.bz2"],
Expand Down
2 changes: 1 addition & 1 deletion icaruscode/TPC/ICARUSWireCell/wcls-decode-to-sig-base.fcl
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ standard_wirecell_sigproc:
// Set "data" vs. "sim". The epoch below probably should follow suit.
reality: "data"
// reality: "sim"
files_fields: "icarus_fnal_fit_ks.json.bz2"
files_fields: "icarus_fnal_fit_ks_P0nom.json.bz2"
// if epoch is "dynamic" you MUST add
// "wclsMultiChannelNoiseDB" to "inputers" and must NOT
// add it if not "dynamic"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,21 +71,34 @@ gaus_hitfinder_icarus.PeakFitter.FloatBaseline:
gaus_hitfinder_icarus.PeakFitter.tool_type: "PeakFitterMrqdt"
gaus_hitfinder_icarus.LongMaxHits: [25, 25, 25]
gaus_hitfinder_icarus.LongPulseWidth: [10, 10, 10]
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane0: @local::candhitfinder_morphological

# Keeping these here even though not used in case we want to know working values for testing
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane0: @local::candhitfinder_morphological
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane0.Plane: 0
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane0.MinDeltaTicks: 4
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane0.MinDeltaPeaks: 2.5
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane0.DilationThreshold: 8
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane1: @local::candhitfinder_morphological
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane1.Plane: 1
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane1.MinDeltaTicks: 4
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane1.MinDeltaPeaks: 2.5
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane1.DilationThreshold: 8
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane2: @local::candhitfinder_morphological
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane2.Plane: 2
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane2.MinDeltaTicks: 4
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane2.MinDeltaPeaks: 2.5
#gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane2.DilationThreshold: 8

# These are default settings for production running
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane0: @local::candhitfinder_standard # Sets hit finding for plane 0
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane0.Plane: 0
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane0.MinDeltaTicks: 4
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane0.MinDeltaPeaks: 2.5
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane0.DilationThreshold: 8
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane1: @local::candhitfinder_morphological
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane0.RoiThreshold: 9.
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane1: @local::candhitfinder_standard # Sets hit finding for plane 1
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane1.Plane: 1
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane1.MinDeltaTicks: 4
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane1.MinDeltaPeaks: 2.5
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane1.DilationThreshold: 8
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane2: @local::candhitfinder_morphological
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane1.RoiThreshold: 9.5
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane2: @local::candhitfinder_standard # Sets hit finding for plane 2
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane2.Plane: 2
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane2.MinDeltaTicks: 4
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane2.MinDeltaPeaks: 2.5
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane2.DilationThreshold: 8
gaus_hitfinder_icarus.HitFinderToolVec.CandidateHitsPlane2.RoiThreshold: 9.


# Define icarus version of test version gausshit finder
Expand Down