Skip to content

Commit e9a9bea

Browse files
committed
add run3 opdet tune, make run2 default
1 parent a138d80 commit e9a9bea

3 files changed

Lines changed: 102 additions & 18 deletions

File tree

icaruscode/PMT/Algorithms/pmtsimulation_icarus.fcl

Lines changed: 84 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,20 @@
55
# Configurations offered:
66
#
77
# * `PMTsimulationAlg` algorithm:
8-
# * `icarus_pmtsimulationalg_standard`: main configuration, expected to be
8+
# * `icarus_pmtsimulationalg_standard_run2`: main configuration for Run1/2, expected to be
9+
# used in production and by the general user
10+
# * `icarus_pmtsimulationalg_standard_run3`: main configuration for Run3/4/5+, expected to be
911
# used in production and by the general user
1012
# * `icarus_pmtsimulationalg_202202`: a general use configuration,
1113
# including dark and electronics noise; `noise` and `nonoise` variants
1214
# (the latter with dark and electronics noise disabled)
1315
# * `icarus_pmtsimulationalg_2018`: legacy configuration (until June 2022),
1416
# including dark and electronics noise; `noise` and `nonoise` variants
1517
# (the latter with dark and electronics noise disabled)
18+
# * `icarus_pmtsimulationalg_run2_2025`: run1/2 configuration (developed in 2025),
19+
# including noise, new response function and gain tune.
20+
# * `icarus_pmtsimulationalg_run3_2025`: run3/4/5+ configuration (developed in 2025),
21+
# including noise, new response function and gain tune.
1622
#
1723
# Usage:
1824
#
@@ -35,8 +41,9 @@
3541
# introduced configuration for SPR 202202
3642
# 20240125 (petrillo@slac.stanford.edu)
3743
# introduced experimental setting PMT gain to 7.5 x 10^6 (and q.e. elsewhere)
38-
# 202510XX (mvicenzi@bnl.gov)
44+
# 20251111 (mvicenzi@bnl.gov)
3945
# introduced configuration for new Run2 SPR (SPRisolHitRun9271)
46+
# introduced configuration for new Run3 SPR (SPRisolHitRun12715)
4047

4148
#include "opticalproperties_icarus.fcl"
4249

@@ -95,11 +102,28 @@ icarus_settings_opdet_run2_2025: {
95102

96103
} # icarus_settings_opdet_run2_2025
97104

105+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
106+
# the following is based on `icarus_settings_opdet_2022` rescaling it to gain
107+
# 7.0x10^6; this is an empirical choice to reconciliate the single PE region in Run3/4
108+
# NoiseRMS is also reduced to 2.6 ADC; see e.g. SBN DocDB 41115
109+
icarus_settings_opdet_run3_2025: {
110+
111+
@table::icarus_settings_opdet_2022
112+
113+
nominalPMTgain: 7.0e6 # PMT multiplication gain factor
114+
115+
NoiseRMS: 2.6 # in ADC#
116+
117+
} # icarus_settings_opdet_run3_2025
118+
98119

99120
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
100121
# settings used in the standard configurations:
122+
101123
icarus_settings_opdet: @local::icarus_settings_opdet_run2_2025
102124

125+
icarus_settings_opdet_run2: @local::icarus_settings_opdet_run2_2025
126+
icarus_settings_opdet_run3: @local::icarus_settings_opdet_run3_2025
103127

104128

105129
### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -156,7 +180,7 @@ icarus_photoelectronresponse_exponentials: {
156180
TransitTime: "55.1 ns"
157181
RaiseTimeConstant: "1.8 ns"
158182
FallTimeConstant: "4.2 ns"
159-
Gain: @local::icarus_settings_opdet.nominalPMTgain # Gain = 7.0e6 => PeakCurrent: -0.14144 mA
183+
Gain: @local::icarus_settings_opdet_2022.nominalPMTgain # Gain = 7.0e6 => PeakCurrent: -0.14144 mA
160184
ADC: 409.6 # ADC / mA
161185

162186
} # icarus_photoelectronresponse_exponentials
@@ -172,7 +196,7 @@ icarus_photoelectronresponse_202202: {
172196

173197
WaveformData: "Responses/SPR202202.txt"
174198
TransitTime: "55.1 ns"
175-
Gain: @local::icarus_settings_opdet.nominalPMTgain
199+
Gain: @local::icarus_settings_opdet_2022.nominalPMTgain
176200

177201
} # icarus_photoelectronresponse_202202
178202

@@ -187,11 +211,26 @@ icarus_photoelectronresponse_run2_2025: {
187211

188212
WaveformData: "Responses/SPRisolHitRun9271_MV.txt"
189213
TransitTime: "55.1 ns"
190-
Gain: @local::icarus_settings_opdet.nominalPMTgain
214+
Gain: @local::icarus_settings_opdet_run2.nominalPMTgain
191215

192216
} # icarus_photoelectronresponse_run2_2025
193217

194218

219+
#
220+
# Single photoelectron response from single-PE data.
221+
# This is valid for Run3/4/5+ cables.
222+
#
223+
icarus_photoelectronresponse_run3_2025: {
224+
225+
tool_type: SampledWaveformFunctionTool
226+
227+
WaveformData: "Responses/SPRisolHitRun12715_MV.txt"
228+
TransitTime: "55.1 ns"
229+
Gain: @local::icarus_settings_opdet_run3.nominalPMTgain
230+
231+
} # icarus_photoelectronresponse_run3_2025
232+
233+
195234
#
196235
# Custom photoelectron response.
197236
#
@@ -221,7 +260,9 @@ icarus_photoelectronresponse_customexample: {
221260
#
222261
# pick one
223262
#
224-
icarus_photoelectronresponse_standard: @local::icarus_photoelectronresponse_run2_2025
263+
264+
icarus_photoelectronresponse_standard_run2: @local::icarus_photoelectronresponse_run2_2025
265+
icarus_photoelectronresponse_standard_run3: @local::icarus_photoelectronresponse_run3_2025
225266

226267

227268
### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -318,7 +359,7 @@ icarus_pmtsimulationalg_202202_noise: {
318359

319360
Pedestal: @local::icarus_pmt_pedestal_standard
320361

321-
SinglePhotonResponse: @local::icarus_photoelectronresponse_standard
362+
SinglePhotonResponse: @local::icarus_photoelectronresponse_202202
322363

323364
DarkNoiseRate: "1.6 kHz" # per channel, from CERN test stand measurement
324365

@@ -404,6 +445,8 @@ icarus_pmtsimulationalg_run2_2025: {
404445

405446
@table::icarus_pmtsimulationalg_202202_noise
406447

448+
SinglePhotonResponse: @local::icarus_photoelectronresponse_standard_run2
449+
407450
# Apply timing delays (cables, transit time, ..) to the simulated photons
408451
# These delays are extracted from the calibration database
409452
ApplyTimingDelays: true
@@ -415,12 +458,42 @@ icarus_pmtsimulationalg_run2_2025: {
415458
PMTspecs: {
416459
DynodeK: 0.75 # gain on a PMT multiplication stage
417460
VoltageDistribution: [ 3.0, 3.4, 5.0, 3.33, 1.67, 1.0, 1.2, 1.5, 2.2, 3.0 ]
418-
Gain: @local::icarus_settings_opdet.nominalPMTgain # total PMT gain
461+
Gain: @local::icarus_settings_opdet_run2.nominalPMTgain # total PMT gain
419462
}
420463

421464
} # icarus_pmtsimulationalg_run2_2025
422465

423466

467+
### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
468+
### Configuration Run3-2025:
469+
### * explicitly based on the configuration "2022" above
470+
### * gain adapted to reconciliate signal integral and amplitude in SPE region
471+
### * gain updated to 7.0 x 10^6
472+
### * threshold for digitization scaled down
473+
###
474+
475+
icarus_pmtsimulationalg_run3_2025: {
476+
477+
@table::icarus_pmtsimulationalg_202202_noise
478+
479+
SinglePhotonResponse: @local::icarus_photoelectronresponse_standard_run3
480+
481+
# Apply timing delays (cables, transit time, ..) to the simulated photons
482+
# These delays are extracted from the calibration database
483+
ApplyTimingDelays: true
484+
485+
# Threshold in ADC counts for a PMT self-trigger
486+
ThresholdADC: 15 # ADC counts
487+
488+
# arranged ad hoc to get ~40% Poisson fluctuation on gain (effectively: 40.8%)
489+
PMTspecs: {
490+
DynodeK: 0.75 # gain on a PMT multiplication stage
491+
VoltageDistribution: [ 3.0, 3.4, 5.0, 3.33, 1.67, 1.0, 1.2, 1.5, 2.2, 3.0 ]
492+
Gain: @local::icarus_settings_opdet_run3.nominalPMTgain # total PMT gain
493+
}
494+
495+
} # icarus_pmtsimulationalg_run3_2025
496+
424497
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
425498
###
426499
### Legacy configuration, pre-2022
@@ -435,7 +508,7 @@ icarus_pmtsimulationalg_2018: {
435508
}
436509
} # Pedestal
437510

438-
SinglePhotonResponse: @local::icarus_photoelectronresponse_standard
511+
SinglePhotonResponse: @local::icarus_photoelectronresponse_202202
439512

440513
DarkNoiseRate: "1.6 kHz" # from CERN test stand measurement
441514

@@ -498,7 +571,8 @@ icarus_pmtsimulationalg_2018_nonoise: {
498571
#
499572
# Includes noise.
500573
#
501-
icarus_pmtsimulationalg_standard: @local::icarus_pmtsimulationalg_run2_2025
574+
icarus_pmtsimulationalg_standard_run2: @local::icarus_pmtsimulationalg_run2_2025
575+
icarus_pmtsimulationalg_standard_run3: @local::icarus_pmtsimulationalg_run3_2025
502576

503577

504578
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

icaruscode/PMT/Trigger/trigger_icarus.fcl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,8 @@ icarus_enablegate_sim: {
311311

312312
BeamGates: [
313313
{
314-
Duration: @local::icarus_pmtsimulationalg_standard.ReadoutEnablePeriod # from pmtsimulation_icarus.fcl
315-
Start: @local::icarus_pmtsimulationalg_standard.TriggerOffsetPMT # from pmtsimulation_icarus.fcl
314+
Duration: @local::icarus_pmtsimulationalg_standard_run2.ReadoutEnablePeriod # from pmtsimulation_icarus.fcl
315+
Start: @local::icarus_pmtsimulationalg_standard_run2.TriggerOffsetPMT # from pmtsimulation_icarus.fcl
316316
}
317317
]
318318

icaruscode/PMT/opdetsim_pmt_icarus.fcl

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,33 @@
55

66
BEGIN_PROLOG
77

8-
icarus_simpmt:
8+
icarus_simpmt_run2:
99
{
1010
module_type: "SimPMTIcarus"
1111
InputModule: "pdfastsim"
1212

13-
@table::icarus_pmtsimulationalg_standard
13+
@table::icarus_pmtsimulationalg_standard_run2
1414
}
1515

16+
icarus_simpmt_run3:
17+
{
18+
module_type: "SimPMTIcarus"
19+
InputModule: "pdfastsim"
20+
21+
@table::icarus_pmtsimulationalg_standard_run3
22+
}
1623

17-
icarus_simpmt_nonoise: {
18-
@table::icarus_simpmt
24+
icarus_simpmt_run2_nonoise: {
25+
@table::icarus_simpmt_run2
1926
@table::icarus_pmtsimulation.disable_noise
2027
}
2128

22-
icarus_simpmt_noise: {
23-
@table::icarus_simpmt
29+
icarus_simpmt_run3_nonoise: {
30+
@table::icarus_simpmt_run3
31+
@table::icarus_pmtsimulation.disable_noise
2432
}
2533

34+
icarus_simpmt: @local::icarus_simpmt_run2
35+
icarus_simpmt_nonoise: @local::icarus_simpmt_run2_nonoise
2636

2737
END_PROLOG

0 commit comments

Comments
 (0)