Add CalPulse module
This PR mainly adds the "HGCALCalPulse.py" module/script that studies charge injections scans to compare ADC vs. TOT. The output ROOT file currently contains
- Some summary histograms of
Nevts
/ADC_ave
/TOT_ave
vs. channel vs. scan point. - A
TTree
with average ADC & TOT per scan point & channel is added (if both are nonzero), which hopefully @olbessid & @hohare can use to fit?
Some examples of the output be viewed in this CERNBox link.
The option --addControlPlots
also adds some control histograms of nonzero ADC or TOT distribution for injected channels, and per scan point.
Other changes that may affect others:
- Common
--run
command line argument is now a list of integers, instead of a single integer to accommodate multiple runs for a scan. - New command line argument
--runmap
that takes the filename of a JSON to map runs to scan parameter(s) and their values, e.g. (see testbeam run log):
{
"1726752043": { "CalPulseVal": 0 },
"1726754597": { "CalPulseVal": 1000 },
"1726758259": { "CalPulseVal": 2000 },
"1726760318": { "CalPulseVal": 3000 },
"1726763091": { "CalPulseVal": 4000 }
}
-
buildScanParametersDict
is no longer an abstract method, and it automatically parsesrunmap
to define scan parameters that are added to the RDF task/sample metadata inbuildHistoFillerTasks
TODO:
-
Still need to debug a bit... -
Resolve conflicts with the target branch...
Edited by Izaak Neutelings