Page History
...
- Instrument independent - detector can be moved between instruments and hatches.
- Experiment independent - detector can be moved between experiments.
- Portability - calibration data for particular detector should be portable as a self consistent file or (part of) calibration directory.
- API + GUI for central management; management can ONLY be done through the API/GUI in order to prevent adding/removing unknown files without history.
- Time stamp (sec) is THE ONLY value for validity range check; the same rules are applied to the time stamp, like for run number in current calibration system.
- The <detname> is equivalent to <dettype>-<detid> and is THE ONLY choice for the file name in the calibration store.
- Aliases to the calibration file names can be used to simplify access.
- Support calibration versions.
- Support links to predecessor and successor.
Architecture
To accommodate requirements calibration store suppose to be implemented as a combination of FS & DB files (hdf5 for uniformity).
...
Code Block |
---|
# Import from PSCalib.DCStore import DCStore # inport DCStore (Detector Calibration Store) object # Initialization CPATH_DEF = '/reg/g/psdm/detector/calib' # default calib directory cpath = '<path>/calib' # local calib directory cpath = '<path>/<dettype>-<detid>.h5' # direct to file cpath = env.calibDir() # '/reg/d/psdm/<INS>/<experiment>/calib' - accept current directory detname = 'pnccd-12345678' # standard name includes detector type, dash, and n-digit id number detname = 'Camera1' # alias cs = DCStore(cpath, detname) # creates a DCStore object. """ get calibration store object Input parameters: cpath [str] - path to the hdf5 file or calibration directory. If cpath is a path to hdf5 file - next parameter is ignored. If cpath=None - default path is used. If cpath is specified as a path to directory (or default) then detname can be an alias. detname [str] - name/alias of the detector """ |
UI
...
acess methods
Code Block |
---|
pctype = pedestals # status, rms, mask, gain, bkgd, common_mode, geometry, etc tsp = tstamp parameter to identify constants, which can be retrieved from evt.run() - run number, evt vers = None # for default or versind or version time stamp. # generic access method: obj = cs.get(ctype, tsp, vers) # or specific access methods: nda = cs.pedestals(p) nda = cs.pixel_status(p) nda = cs.pixel_rms(p) ... geo = cs.geometry(p) |
Base class
Is reserved to support common methods of all project classes. For now it stands for manipulations with tags but not limited to.
...
Overview
Content Tools