4 from __future__
import print_function
6 preqes = [ 25, 30, 40 ]
8 prerefs = [
"Opt",
"Pes" ]
20 sets = [ (
"DEF", defqes, defrefs, defthrs),
21 (
"EFF", preqes, defrefs, defthrs),
22 (
"REF", defqes, prerefs, defthrs),
23 (
"THR", defqes, defrefs, prethrs) ]
33 for ( name, iqes, irefs, ithrs )
in sets:
37 tag =
"{0}{1:02d}QE{2}Refl{3:d}PE".
format(name, qe, ref, thr)
40 qeval =
float(qe) / 1000.
44 params[tag][
"qe"] = qeval
45 params[tag][
"darkrate"] = noise
46 params[tag][
"linerms"] =
float(peakadc)/snr
47 params[tag][
"thresh"] =
int( (
float(thr)-0.3) * peakadc )
51 params[tag][
"refqe"] = 1.44*qeval
53 params[tag][
"refqe"] = 0.84*qeval
54 params[tag][
"qe"] /= 2
56 params[tag][
"refqe"] = 0
59 tags = sorted(params.keys())
65 print(form.format(tag)+
",")
67 print(form.format(tags[-1]))
75 #include "largeantmodules_dune.fcl" 76 #include "detsimmodules_dune.fcl" 77 #include "opticaldetectormodules_dune.fcl" 78 #include "OpSlicer.fcl" 79 #include "FlashMatchAna.fcl" 86 print(
"############################################################################")
87 print(
"pd_detsim_modules: {")
89 print(
" opdigi{0}: @local::dunefd_opdigi_threegang".
format(tag))
95 print(
"pd_detsim_modules.opdigi{0}.QEOverride: {1:.6f}".
format(tag, pm[
"qe"]))
96 print(
"pd_detsim_modules.opdigi{0}.QERefOverride: {1:.6f}".
format(tag, pm[
"refqe"]))
97 print(
"pd_detsim_modules.opdigi{0}.DarkNoiseRate: {1:d} #Hz".
format(tag, pm[
"darkrate"]))
98 print(
"pd_detsim_modules.opdigi{0}.LineNoiseRMS: {1:.3f}".
format(tag, pm[
"linerms"]))
99 print(
"pd_detsim_modules.opdigi{0}.algo_threshold.ADCThreshold: {1:.3f}".
format(tag, pm[
"thresh"]))
102 print(
"pd_detsim_path: [")
110 print(
"############################################################################")
111 print(
"pd_reco_modules: {")
113 print(
" ophit{0}: @local::dunefd_ophit".
format(tag))
115 print(
" opflash{0}: @local::dunefd_opflash".
format(tag))
117 print(
" opslicer{0}: @local::standard_opslicer".
format(tag))
123 print(
"pd_reco_modules.ophit{0}.InputModule: opdigi{0}".
format(tag))
124 print(
"pd_reco_modules.opflash{0}.InputModule: ophit{0}".
format(tag))
125 print(
"pd_reco_modules.opslicer{0}.OpHitModuleLabel: ophit{0}".
format(tag))
129 print(
"pd_reco_path: [")
130 print_seq(tags,
" ophit{0}, opflash{0}, opslicer{0}")
139 print(
"############################################################################")
140 print(
"pd_ana_modules: {")
142 print(
" flashmatch{0}: @local::marley_flashmatchana".
format(tag))
144 print(
" slicematch{0}: @local::marley_flashmatchana".
format(tag))
146 print(
" snana{0}: @local::standard_snana".
format(tag))
153 print(
"pd_ana_modules.flashmatch{0}.OpDetWaveformLabel: opdigi{0}".
format(tag))
154 print(
"pd_ana_modules.flashmatch{0}.OpHitModuleLabel: ophit{0}".
format(tag))
155 print(
"pd_ana_modules.flashmatch{0}.OpFlashModuleLabel: opflash{0}".
format(tag))
156 print(
"pd_ana_modules.slicematch{0}.OpDetWaveformLabel: opdigi{0}".
format(tag))
157 print(
"pd_ana_modules.slicematch{0}.OpHitModuleLabel: ophit{0}".
format(tag))
158 print(
"pd_ana_modules.slicematch{0}.OpFlashModuleLabel: opslice{0}".
format(tag))
159 print(
"pd_ana_modules.snana{0}.OpHitModuleLabel: ophit{0}".
format(tag))
162 print(
"pd_ana_path: [")
163 print_seq(tags,
" flashmatch{0}, slicematch{0}, snana{0}")
static bool format(QChar::Decomposition tag, QString &str, int index, int len)