Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Below are the lists of fields which can be used to define detector and access calibrations

Detector metadata

Field nameDescriptionMore details, example
dettypedetector typeCSPAD, CSPAD2X2, EPIX100A, etc.
detnamedetector unique name(if any) ex.: Camera1
detaliasalias nameif it is hard to memorize the entire name, ex.: 'cspad1'
detidxdetector indexinteger number which codes the hardware version
detidxaliassymbolic alias of the indexcan be used if it is hard to memorize the index integer number
detcompidx:001list of component indexesjust in case if we are going to retrieve calibration parameters for separate components
detidxprevdetector index for previous versiondetector index for previous version (if available) for the purpose of old calibration search
detidxnextdetector index for next versiondetector index for next version (if available) for the purpose of new calibration search
dettsectime-stamptime stamp associated with beginning of the validity range for new configuration
detcom:001comments for this hardware versionas it says {key:comment}
dettag:001other tagsjust in case if something is forgotten in this table

Calibration parameters' metadata

Field nameDescriptionMore details, example
calibtypecalibration typeex.: geometry, pixel_status, pixel_gain, pedestals, common_mode, etc.
tsectime stampbeginning of the validity range
exporiginal experiment(if available) where calibration constants were obtained
runnumoriginal run number(if available) where calibration constants were obtained
runbeginbegin run number(if available) for validity range
runendend run number(if available) for validity range
sourceoriginal DAQ data sourcedata source from DAQ, ex.: 'CxiDs2.0:Cspad.0'
srcaliasdata source aliasex.: 'cspad'
calibversversion tagin order to access using symbolic name or some alias
calibversaliasversion aliasif it is hard to memorize version tag
com:001comments for this versionas it says {key:comment}

 

tag:001other tagsjust in case if something is forgotten in this table

In case of numpy array their metadata are stored with an object.
Text file needs in n-d array metadata

n-d array metadata

Field nameDescriptionMore details, example
dtypedata typeint, float, double, etc
ndimsnumber of dimensions (N)as it says
dim:1size of dim.1...
dim:2size of dim.2...
.........
dim:Nsize of dim.N...

Architecture

Requirements

  • instrument independent (detector can be moved)
  • experiment independent (detector can be moved)
  • calibration data for a particular detector should be transferable (as a self consistent file)
  • calibration data should be managed through API only (in order to prevent adding/removing unknown files without history)
  • API + GUI for central management


Combination of FS + DB-like file (hdf5 for uniformity)

Location in LCLS

/reg/g/psdm/detector/alignment/...
/reg/g/psdm/detector/calib/ # "/reg/g" is it good?

...

  • cspad2x2/
  • pnccd/
  • epix100a/
  • cspad/
    • <detname-detid>.h5
    • <detname-detiid>.h5

Location in local

  • <path>/calibdet/cspad/<detname-detid>.h5 # keep path?
  • <path>/<detname-detid>.h5 # or use it directly?

TBD

Open questions

  • Do we have to account for detector version, FEE version, controller version, etc?
  • one DB file per
    • detector version idx
    • detector name (idx-s inside?)
  • db location
  • file name
  • master file