public class DrsTimeCalibration extends Object implements stream.StatefulProcessor
The common reference point is the 976.5625 kHz DRS4 reference clock. This means the time of sampling physical cell zero is assumed to be equal for all 160 DRS4 chips in the camera.
After finding the corrected sampling time of each sample in 'dataKey', the data is resampled using a linearTimeCorrectionKernel, in order to obtain a time series which may be treated as if the 2GHz DRS4 sampling process was flawless.
The resampling time series starts at the maximum corrected start time of all pixels and always contains 300 samples. In case there are no more supporting points in the original time series, i.e. in case we would need to extrapolate instead of interpolate, the last sample is repeated.
This means the end of the time series is likely to contain unphysical data. Most processors disregard the end of the time series and therefor this might not matter a lot, but features like PedVar, which are extracted at random positions of the timeline should be restricted to a timeframe between sample 10 and 250 I would say.
Modifier and Type | Field and Description |
---|---|
String |
dataKey |
String |
drsTimeKey |
String |
outputKey |
String |
startCellKey |
URL |
url |
Constructor and Description |
---|
DrsTimeCalibration() |
Modifier and Type | Method and Description |
---|---|
void |
finish() |
void |
init(stream.ProcessContext context) |
protected void |
loadDrsTimeCalibConstants(URL in) |
stream.Data |
process(stream.Data item) |
void |
resetState() |
@Parameter(required=false, description="Key of the StartCellData in the data fits file", defaultValue="StartCellData") public String startCellKey
@Parameter(required=false, description="name of column in FITS file to find DRS4 time calibration constants.") public String drsTimeKey
@Parameter(required=false, description="file with the drs time calib constants", defaultValue="classpath:/long_term_constants_median.time.drs.fits") public URL url
@Parameter(required=true, description="key to the drs amplitude calibrated voltage curves") public String dataKey
@Parameter(required=true, description="OutputKey for the calibrated voltage curves") public String outputKey
public void init(stream.ProcessContext context)
init
in interface stream.StatefulProcessor
public stream.Data process(stream.Data item)
process
in interface stream.Processor
protected void loadDrsTimeCalibConstants(URL in) throws IOException
IOException
public void resetState() throws Exception
resetState
in interface stream.StatefulProcessor
Exception
Copyright © 2019. All rights reserved.