CFEL - ASG Software Suite  2.5.0
CASS
CsPadCrystal.ini
;/** @example CsPadCrystal.ini */
;;
;; generic ini file for crystal hitfinding on cspad
;; Correction on the CsPad detector data is done using Processor 330
;; Partially also the fluorescence analysis of the CsPad2x2 is implemented
;;
; ---------------------the processors--------------------------
;----------------the raw images / tof traces-----------------------
; The diffraction detector image
CsPadRaw/ID = 109
CsPadRaw/CASSID = 7
CsPadRaw/nCols = 388
CsPadRaw/nRows = 5920
CsPadRaw/Hide = false
;------- offset, noise and mask -------------
;-- collect images when shutter is closed
CsPadDarkCal/ID = 330
CsPadDarkCal/RawImage = CsPadRaw
;CsPadDarkCal/ConditionName = FELOff
;CsPadDarkCal/ConditionName = IsDark
CsPadDarkCal/ConditionName = DefaultFalseHist
CsPadDarkCal/Train = false
;CsPadDarkCal/Train = true
CsPadDarkCal/InputFilename = darkcal_7.lnk
;CsPadDarkCal/OutputFilename = darkcal_7.lnk
CsPadDarkCal/WriteCal = true
CsPadDarkCal/NbrTrainingImages = 200
CsPadDarkCal/SNR = 4
;CsPadDarkCal/SNRNoiseAutoBoundaries = 4
;CsPadDarkCal/SNRNoiseAutoBoundariesStat = 4
CsPadDarkCal/SNRNoiseAutoBoundaries = -1
CsPadDarkCal/NoiseLowerBoundary = 1
CsPadDarkCal/NoiseUpperBoundary = 7.5
CsPadDarkCal/SNROffsetAutoBoundariesStat = 4
CsPadDarkCal/SNROffsetAutoBoundaries = 4
CsPadDarkCal/MinNbrPixels = 90
CsPadDarkCal/ResetBadPixels = false
CsPadDarkCal/UpdateCalibration = false
CsPadDarkCal/UpdateCalibrationType = moving
CsPadDarkCal/NbrOfImages = 200
CsPadDarkCal/UpdateBadPixAndSavePeriod = 800
CsPadDarkCal/Hide = false
;-- get the offset map
OffsetMap/ID = 70
OffsetMap/HistName = CsPadDarkCal
OffsetMap/XLow = 0
OffsetMap/XUp = 387
OffsetMap/YLow = 0
OffsetMap/YUp = 5919
OffsetMap/Hide = true
;-- to cheetah layout
OffsetMapCheetah/ID = 1600
OffsetMapCheetah/HistName = OffsetMap
OffsetMapCheetah/Hide = false
;-- histogram of the offset values
OffsetMapHist/ID = 60
OffsetMapHist/HistName = OffsetMap
OffsetMapHist/XNbrBins = 1000
OffsetMapHist/XLow = -100
OffsetMapHist/XUp = 2500
OffsetMapHist/XTitle = OffsetValues [adu]
OffsetMapHist/Hide = false
;-- get the noise map
NoiseMap/ID = 70
NoiseMap/HistName = CsPadDarkCal
NoiseMap/XLow = 0
NoiseMap/XUp = 387
NoiseMap/YLow = 5920
NoiseMap/YUp = 11839
NoiseMap/Hide = true
;-- to cheetah layout
NoiseMapCheetah/ID = 1600
NoiseMapCheetah/HistName = NoiseMap
NoiseMapCheetah/Hide = false
;-- histogram of the noise values
NoiseMapHist/ID = 60
NoiseMapHist/HistName = NoiseMap
NoiseMapHist/XNbrBins = 10000
NoiseMapHist/XLow = 0
NoiseMapHist/XUp = 500
NoiseMapHist/XTitle = NoiseValues [adu]
NoiseMapHist/Hide = false
;-- get the bad pixel map
BadPixMap/ID = 70
BadPixMap/HistName = CsPadDarkCal
BadPixMap/XLow = 0
BadPixMap/XUp = 387
BadPixMap/YLow = 17760
BadPixMap/YUp = 23679
BadPixMap/Hide = true
;-- to cheetah layout
BadPixMapCheetah/ID = 1600
BadPixMapCheetah/HistName = BadPixMap
BadPixMapCheetah/Hide = false
;-- load the gain map
GainMap/ID = 302
;GainMap/BinaryFile = /reg/neh/operator/cxiopr/2014/cxie9214/gain-center.cal
GainMap/BinaryFile = /lfs/l6/ullrch/foucar/analysis/cxig0715/gain-off.cal
GainMap/SizeX = 388
GainMap/SizeY = 5920
GainMap/Hide = true
;-- to cheetah layout
GainMapCheetah/ID = 1600
GainMapCheetah/HistName = GainMap
GainMapCheetah/Hide = false
;---- treat the raw image of the cspad -----
; generate offset corrected image
CsPadOffsetCorrected/ID = 1
CsPadOffsetCorrected/HistOne = CsPadRaw
CsPadOffsetCorrected/HistTwo = OffsetMap
CsPadOffsetCorrected/Operation = "-"
CsPadOffsetCorrected/Hide = true
;-- mask the bad pixels of the detector
CsPadOffsetCorrectedMasked/ID = 41
CsPadOffsetCorrectedMasked/HistName = CsPadOffsetCorrected
CsPadOffsetCorrectedMasked/ThresholdName = BadPixMap
CsPadOffsetCorrectedMasked/UserVal = 0
CsPadOffsetCorrectedMasked/LowerBound = 0.5
CsPadOffsetCorrectedMasked/UpperBound = 1.5
CsPadOffsetCorrectedMasked/Hide = true
;-- correct for the gain
CsPad/ID = 1
CsPad/HistOne = CsPadOffsetCorrectedMasked
CsPad/HistTwo = GainMap
CsPad/Operation = "*"
CsPad/Hide = true
;-- to cheetah layout
CsPadCheetah/ID = 1600
CsPadCheetah/HistName = CsPad
CsPadCheetah/Hide = false
;------------- definitions of when a hit is found------------------
; find nbr of bragg peaks by taking background with pixels that are free of
; outliers
BraggPeakTableNoOutliers/ID = 208
BraggPeakTableNoOutliers/HistName = CsPadOffsetCorrectedMasked
BraggPeakTableNoOutliers/SectionSizeX = 194
BraggPeakTableNoOutliers/SectionSizeY = 185
BraggPeakTableNoOutliers/BoxSizeX = 5
BraggPeakTableNoOutliers/BoxSizeY = 5
BraggPeakTableNoOutliers/Threshold = 400
BraggPeakTableNoOutliers/MinSignalToNoiseRatio = 3
BraggPeakTableNoOutliers/MinNbrPixels = 2
;BraggPeakTableNoOutliers/GeometryFilename = /path/to/cspad.geom
BraggPeakTableNoOutliers/ConvertCheetahToCASSLayout = true
;BraggPeakTableNoOutliers/Wavelength_A = 1.8068
;BraggPeakTableNoOutliers/DetectorDistance_m = 90e-3
BraggPeakTableNoOutliers/Wavelength_A = photon_wavelength_A
BraggPeakTableNoOutliers/DetectorDistance_m = detectordistance_m
BraggPeakTableNoOutliers/PixelSize_m = 109.92e-6
BraggPeakTableNoOutliers/Hide = true
;--
nBraggPeaksNoOutliers/ID = 88
nBraggPeaksNoOutliers/HistName = BraggPeakTableNoOutliers
nBraggPeaksNoOutliers/AxisParameter = YNbrBins
nBraggPeaksNoOutliers/Hide = true
;--
BraggPeakNoOutliersHitfinder/ID = 9
BraggPeakNoOutliersHitfinder/HistName = nBraggPeaksNoOutliers
BraggPeakNoOutliersHitfinder/UpperLimit = 1e20
BraggPeakNoOutliersHitfinder/LowerLimit = 10
BraggPeakNoOutliersHitfinder/Hide = true
;--
SubsetBraggPeakTable/ID = 73
SubsetBraggPeakTable/TableName = BraggPeakTableNoOutliers
SubsetBraggPeakTable/ColumnIndex = 9
SubsetBraggPeakTable/UpperBound = 1e20
SubsetBraggPeakTable/LowerBound = 00
SubsetBraggPeakTable/Hide = true
;--
nSubsetBraggPeaks/ID = 88
nSubsetBraggPeaks/HistName = SubsetBraggPeakTable
nSubsetBraggPeaks/AxisParameter = YNbrBins
nSubsetBraggPeaks/Hide = false
;--
SubsetBraggPeakHitfinder/ID = 9
SubsetBraggPeakHitfinder/HistName = nSubsetBraggPeaks
SubsetBraggPeakHitfinder/UpperLimit = 1e20
SubsetBraggPeakHitfinder/LowerLimit = 0
SubsetBraggPeakHitfinder/Hide = true
;--
InfoImageNotRotated/ID = 205
InfoImageNotRotated/ConditionName = SubsetBraggPeakHitfinder
InfoImageNotRotated/HistName = CsPad
InfoImageNotRotated/TableName = SubsetBraggPeakTable
InfoImageNotRotated/IndexColumn = 5
InfoImageNotRotated/Radius = 2
InfoImageNotRotated/DrawPixelValue = 160000
InfoImageNotRotated/BoxSizeX = 3
InfoImageNotRotated/BoxSizeY = 3
InfoImageNotRotated/DrawBox = true
InfoImageNotRotated/DrawCircle = false
InfoImageNotRotated/Hide = true
;--
InfoImageCheetah/ID = 1600
InfoImageCheetah/ConditionName = SubsetBraggPeakHitfinder
InfoImageCheetah/HistName = InfoImageNotRotated
InfoImageCheetah/Hide = false
;--
[;Processor] ; even more monitoring
MaxADUColumn/ID = 72
MaxADUColumn/ConditionName = SubsetBraggPeakHitfinder
MaxADUColumn/TableName = SubsetBraggPeakTable
MaxADUColumn/ColumnIndex = 12
MaxADUColumn/Hide = true
MaxADUHistory/ID = 64
MaxADUHistory/ConditionName = SubsetBraggPeakHitfinder
MaxADUHistory/HistName = MaxADUColumn
MaxADUHistory/Size = 6000
MaxADUHistory/Hide = false
;--
SNRColumn/ID = 72
SNRColumn/ConditionName = SubsetBraggPeakHitfinder
SNRColumn/TableName = SubsetBraggPeakTable
SNRColumn/ColumnIndex = 4
SNRColumn/Hide = true
SNRHistory/ID = 64
SNRHistory/ConditionName = SubsetBraggPeakHitfinder
SNRHistory/HistName = SNRColumn
SNRHistory/Size = 6000
SNRHistory/Hide = false
;--
nOutlierColumn/ID = 72
nOutlierColumn/ConditionName = SubsetBraggPeakHitfinder
nOutlierColumn/TableName = SubsetBraggPeakTable
nOutlierColumn/ColumnIndex = 13
nOutlierColumn/Hide = true
nOutlierHistory/ID = 64
nOutlierHistory/ConditionName = SubsetBraggPeakHitfinder
nOutlierHistory/HistName = nOutlierColumn
nOutlierHistory/Size = 6000
nOutlierHistory/Hide = false
;--
nPixColumn/ID = 72
nPixColumn/ConditionName = SubsetBraggPeakHitfinder
nPixColumn/TableName = SubsetBraggPeakTable
nPixColumn/ColumnIndex = 3
nPixColumn/Hide = true
nPixHistory/ID = 64
nPixHistory/ConditionName = SubsetBraggPeakHitfinder
nPixHistory/HistName = nPixColumn
nPixHistory/Size = 6000
nPixHistory/Hide = false
;--
stdvColumn/ID = 72
stdvColumn/ConditionName = SubsetBraggPeakHitfinder
stdvColumn/TableName = SubsetBraggPeakTable
stdvColumn/ColumnIndex = 9
stdvColumn/Hide = true
stdvHistory/ID = 64
stdvHistory/ConditionName = SubsetBraggPeakHitfinder
stdvHistory/HistName = stdvColumn
stdvHistory/Size = 6000
stdvHistory/Hide = false
;--
meanColumn/ID = 72
meanColumn/ConditionName = SubsetBraggPeakHitfinder
meanColumn/TableName = SubsetBraggPeakTable
meanColumn/ColumnIndex = 8
meanColumn/Hide = true
meanHistory/ID = 64
meanHistory/ConditionName = SubsetBraggPeakHitfinder
meanHistory/HistName = meanColumn
meanHistory/Size = 6000
meanHistory/Hide = false
; define which of the hitfinders defined above will be used as hit
; identification for the later Processors by ANDing this with
; true. Then one can use the IsHit Processor later on, by only
; here which condition to use. Also define when it was not a hit.
IsHit/ID = 1
IsHit/HistOne = DefaultTrueHist
IsHit/HistTwo = BraggPeakNoOutliersHitfinder
IsHit/Operation = "AND"
IsHit/Hide = true
;-- invert to get no hits
IsNotHit/ID = 4
IsNotHit/HistName = IsHit
IsNotHit/Hide = true
; ---------- definition of acutal light in the chamber ---------
; check if FEL is off by checking for 'bykick' which is eventid 162
; bykick kicks the electron beam before it goes into the undulator, therefore
; no FEL light can be generated
FELOff/ID = 121
FELOff/EventCode = 162
FELOff/Hide = true
;-- invert the condition
FELOn/ID = 4
FELOn/HistName = FELOff
FELOn/Hide = true
;-- make a history of the FEL off value
FELOffHistory/ID = 64
FELOffHistory/HistName = FELOff
FELOffHistory/Size = 2400
FELOffHistory/Hide = false
; check if there is some light in the chamber based upon the GMD value
; which is defined below in the additional info section
IsLight/ID = 9
IsLight/HistName = f_11_ENRC
IsLight/UpperLimit = 1e20
IsLight/LowerLimit = 0.05
IsLight/Hide = true
; ---------------Hitrate-------------------------
; Average out the iShit status to get the avererage hits
; but only when there is light
HitRate/ID = 61
HitRate/HistName = IsHit
HitRate/ConditionName = IsLight
HitRate/NbrOfAverages = 600
HitRate/Hide = true
;-- make a history of that value
HitRateHistory/ID = 64
HitRateHistory/HistName = HitRate
HitRateHistory/ConditionName = IsLight
HitRateHistory/Size = 2400
HitRateHistory/Hide = false
;-------checks-------------
; generate a sublist of the list with all identified bragg spots
; that contains only entries with saturated pixels
SaturatedPeaksTable/ID = 73
SaturatedPeaksTable/ConditionName = IsHit
SaturatedPeaksTable/TableName = BraggPeakTableNoOutliers
SaturatedPeaksTable/ColumnIndex = 12
SaturatedPeaksTable/UpperBound = 1e20
SaturatedPeaksTable/LowerBound = 9000
SaturatedPeaksTable/Hide = true
;-- how many rows has the list
nSaturatedPeaks/ID = 88
nSaturatedPeaks/ConditionName = IsHit
nSaturatedPeaks/HistName = SaturatedPeaksTable
nSaturatedPeaks/AxisParameter = YNbrBins
nSaturatedPeaks/Hide = true
;-- take the ratio to all peak on the list
SaturatedRatio/ID = 1
SaturatedRatio/ConditionName = IsHit
SaturatedRatio/HistOne = nSaturatedPeaks
SaturatedRatio/HistTwo = nBraggPeaksNoOutliers
SaturatedRatio/Operation = "/"
SaturatedRatio/Hide = true
;-- histogram the ratio
SaturatedRatioHist/ID = 60
SaturatedRatioHist/ConditionName = IsHit
SaturatedRatioHist/HistName = SaturatedRatio
SaturatedRatioHist/XNbrBins = 100
SaturatedRatioHist/XLow = 0
SaturatedRatioHist/XUp = 1
SaturatedRatioHist/XTitle = ratio of saturated to all
SaturatedRatioHist/Hide = true
;-- average the histogram
SaturatedRatioHistAve/ID = 61
SaturatedRatioHistAve/ConditionName = IsHit
SaturatedRatioHistAve/HistName = SaturatedRatioHist
SaturatedRatioHistAve/NbrOfAverages = 240
SaturatedRatioHistAve/Hide = false
;-- sum the histogram
SaturatedRatioHistSum/ID = 62
SaturatedRatioHistSum/ConditionName = IsHit
SaturatedRatioHistSum/HistName = SaturatedRatioHist
SaturatedRatioHistSum/Hide = false
;--------- things done with raw image when there is a hit-------------------
;-- the cspad only when there is a hit
CsPadCheetahIsHit/ID = 13
CsPadCheetahIsHit/HistName = CsPadCheetah
CsPadCheetahIsHit/ConditionName = IsHit
CsPadCheetahIsHit/Hide = false
;-- sum up the cheetah layout image
CsPadCheetahSum/ID = 62
CsPadCheetahSum/HistName = CsPadCheetah
CsPadCheetahSum/ConditionName = IsHit
CsPadCheetahSum/Hide = false
;-- create image containing the centroided bragg peaks from table
CsPadCleardCentroid/ID = 207
CsPadCleardCentroid/ConditionName = IsHit
CsPadCleardCentroid/Table = BraggPeakTableNoOutliers
CsPadCleardCentroid/ColumnIndex = 1
CsPadCleardCentroid/RowIndex = 2
CsPadCleardCentroid/ValIndex = 0
CsPadCleardCentroid/XNbrBins = 388
CsPadCleardCentroid/XLow = 0
CsPadCleardCentroid/XUp = 388
CsPadCleardCentroid/XTitle = columns
CsPadCleardCentroid/YNbrBins = 5920
CsPadCleardCentroid/YLow = 0
CsPadCleardCentroid/YUp = 5920
CsPadCleardCentroid/YTitle = rows
CsPadCleardCentroid/Hide = true
;-- convert centroid bragg peak image to cheetah
CsPadCleardCentroidCheetah/ID = 1600
CsPadCleardCentroidCheetah/HistName = CsPadCleardCentroid
CsPadCleardCentroidCheetah/ConditionName = IsHit
CsPadCleardCentroidCheetah/Hide = true
;-- sum of centroided cheetah image
CsPadCleardCentroidCheetahSum/ID = 62
CsPadCleardCentroidCheetahSum/HistName = CsPadCleardCentroidCheetah
CsPadCleardCentroidCheetahSum/ConditionName = IsHit
CsPadCleardCentroidCheetahSum/Hide = true
;-- average of centroided lab image
CsPadCleardCentroidCheetahAve/ID = 61
CsPadCleardCentroidCheetahAve/HistName = CsPadCleardCentroidCheetah
CsPadCleardCentroidCheetahAve/ConditionName = IsHit
CsPadCleardCentroidCheetahAve/NbrOfAverages = 0
CsPadCleardCentroidCheetahAve/Hide = false
;------------- Fluorescence stuff-----------------
; The fluorescence detector image
CsPad2x2Raw/ID = 109
CsPad2x2Raw/CASSID = 12
CsPad2x2Raw/nCols = 388
CsPad2x2Raw/nRows = 370
CsPad2x2Raw/Hide = false
;-- collect images when shutter is closed
CsPad2x2DarkCal/ID = 330
CsPad2x2DarkCal/RawImage = CsPad2x2Raw
;CsPad2x2DarkCal/ConditionName = FELOff
;CsPad2x2DarkCal/ConditionName = IsDark
CsPad2x2DarkCal/ConditionName = DefaultFalseHist
CsPad2x2DarkCal/Train = false
;CsPad2x2DarkCal/Train = true
CsPad2x2DarkCal/InputFilename = darkcal_12.lnk
;CsPad2x2DarkCal/OutputFilename = darkcal_12.lnk
CsPad2x2DarkCal/WriteCal = true
CsPad2x2DarkCal/NbrTrainingImages = 200
CsPad2x2DarkCal/SNR = 4
;CsPad2x2DarkCal/SNRNoiseAutoBoundaries = 4
;CsPad2x2DarkCal/SNRNoiseAutoBoundariesStat = 4
CsPad2x2DarkCal/SNRNoiseAutoBoundaries = -1
CsPad2x2DarkCal/NoiseLowerBoundary = 1
CsPad2x2DarkCal/NoiseUpperBoundary = 7.5
CsPad2x2DarkCal/SNROffsetAutoBoundariesStat = 4
CsPad2x2DarkCal/SNROffsetAutoBoundaries = 4
CsPad2x2DarkCal/MinNbrPixels = 90
CsPad2x2DarkCal/ResetBadPixels = false
CsPad2x2DarkCal/UpdateCalibration = false
CsPad2x2DarkCal/UpdateCalibrationType = moving
CsPad2x2DarkCal/NbrOfImages = 200
CsPad2x2DarkCal/UpdateBadPixAndSavePeriod = 800
CsPad2x2DarkCal/Hide = true
;-- get the offset map
CsPad2x2OffsetMap/ID = 70
CsPad2x2OffsetMap/HistName = CsPad2x2DarkCal
CsPad2x2OffsetMap/XLow = 0
CsPad2x2OffsetMap/XUp = 387
CsPad2x2OffsetMap/YLow = 0
CsPad2x2OffsetMap/YUp = 369
CsPad2x2OffsetMap/Hide = false
;-- histogram of the offset values
CsPad2x2OffsetMapHist/ID = 60
CsPad2x2OffsetMapHist/HistName = CsPad2x2OffsetMap
CsPad2x2OffsetMapHist/XNbrBins = 1000
CsPad2x2OffsetMapHist/XLow = -100
CsPad2x2OffsetMapHist/XUp = 2500
CsPad2x2OffsetMapHist/XTitle = OffsetValues [adu]
CsPad2x2OffsetMapHist/Hide = false
;-- get the noise map
CsPad2x2NoiseMap/ID = 70
CsPad2x2NoiseMap/HistName = CsPad2x2DarkCal
CsPad2x2NoiseMap/XLow = 0
CsPad2x2NoiseMap/XUp = 387
CsPad2x2NoiseMap/YLow = 370
CsPad2x2NoiseMap/YUp = 739
CsPad2x2NoiseMap/Hide = false
;-- histogram of the noise values
CsPad2x2NoiseMapHist/ID = 60
CsPad2x2NoiseMapHist/HistName = CsPad2x2NoiseMap
CsPad2x2NoiseMapHist/XNbrBins = 10000
CsPad2x2NoiseMapHist/XLow = 0
CsPad2x2NoiseMapHist/XUp = 500
CsPad2x2NoiseMapHist/XTitle = NoiseValues [adu]
CsPad2x2NoiseMapHist/Hide = false
;-- get the bad pixel map
CsPad2x2BadPixMap/ID = 70
CsPad2x2BadPixMap/HistName = CsPad2x2DarkCal
CsPad2x2BadPixMap/XLow = 0
CsPad2x2BadPixMap/XUp = 387
CsPad2x2BadPixMap/YLow = 1110
CsPad2x2BadPixMap/YUp = 1479
CsPad2x2BadPixMap/Hide = true
; treat the raw image of the cspad -----
; generate offset corrected image
CsPad2x2OffsetCorrected/ID = 1
CsPad2x2OffsetCorrected/HistOne = CsPad2x2Raw
CsPad2x2OffsetCorrected/HistTwo = CsPad2x2OffsetMap
CsPad2x2OffsetCorrected/Operation = "-"
CsPad2x2OffsetCorrected/Hide = false
;-- find the common mode of the image
CsPad2x2CommonModeMap/ID = 333
CsPad2x2CommonModeMap/Image = CsPad2x2OffsetCorrected
CsPad2x2CommonModeMap/CalculationType = "median"
CsPad2x2CommonModeMap/Width = 71780 ; 388 x 185 pixels
CsPad2x2CommonModeMap/Hide = true
;-- subtract the common mode
CsPad2x2OffsetAndCommonModeCorrected/ID = 1
CsPad2x2OffsetAndCommonModeCorrected/HistOne = CsPad2x2OffsetCorrected
CsPad2x2OffsetAndCommonModeCorrected/HistTwo = CsPad2x2CommonModeMap
CsPad2x2OffsetAndCommonModeCorrected/Operation = "-"
CsPad2x2OffsetAndCommonModeCorrected/Hide = true
;-- mask the bad pixels of the detector
CsPad2x2OffsetAndCommonModeCorrectedAndMasked/ID = 41
CsPad2x2OffsetAndCommonModeCorrectedAndMasked/HistName = CsPad2x2OffsetAndCommonModeCorrected
CsPad2x2OffsetAndCommonModeCorrectedAndMasked/ThresholdName = CsPad2x2BadPixMap
CsPad2x2OffsetAndCommonModeCorrectedAndMasked/UserVal = 0
CsPad2x2OffsetAndCommonModeCorrectedAndMasked/LowerBound = 0.5
CsPad2x2OffsetAndCommonModeCorrectedAndMasked/UpperBound = 1.5
CsPad2x2OffsetAndCommonModeCorrectedAndMasked/Hide = false
;-- average of calibrated image
CsPad2x2OffsetAndCommonModeCorrectedAndMaskedAve/ID = 61
CsPad2x2OffsetAndCommonModeCorrectedAndMaskedAve/HistName = CsPad2x2OffsetAndCommonModeCorrectedAndMasked
CsPad2x2OffsetAndCommonModeCorrectedAndMaskedAve/NbrOfAverages = 200
CsPad2x2OffsetAndCommonModeCorrectedAndMaskedAve/Hide = false
;-- divide by noise to get the signal to noise ratio
CsPad2x2SNR/ID = 1
CsPad2x2SNR/HistOne = CsPad2x2OffsetAndCommonModeCorrectedAndMasked
CsPad2x2SNR/HistTwo = CsPad2x2NoiseMap
CsPad2x2SNR/Operation = "/"
CsPad2x2SNR/Hide = false
;-- histogram of the snr values
CsPad2x2SNRHist/ID = 60
CsPad2x2SNRHist/HistName = CsPad2x2SNR
CsPad2x2SNRHist/XNbrBins = 4000
CsPad2x2SNRHist/XLow = -20
CsPad2x2SNRHist/XUp = 20
CsPad2x2SNRHist/XTitle = SNRValues
CsPad2x2SNRHist/Hide = false
;-- set pixels that don't contain light to 0
CsPad2x2LightPixels/ID = 41
CsPad2x2LightPixels/HistName = CsPad2x2OffsetAndCommonModeCorrectedAndMasked
CsPad2x2LightPixels/ThresholdName = CsPad2x2SNR
CsPad2x2LightPixels/UserVal = 0
CsPad2x2LightPixels/LowerBound = -1e20
CsPad2x2LightPixels/UpperBound = 3
CsPad2x2LightPixels/Hide = false
;-- project area of interest to x-axis
FSpectrum/ID = 50
FSpectrum/HistName = CsPad2x2LightPixels
FSpectrum/LowerBound = 335
FSpectrum/UpperBound = 350
FSpectrum/Axis = 0
FSpectrum/Hide = true
;-- sum spectrum
FSpectrumSum/ID = 62
FSpectrumSum/HistName = FSpectrum
;FSpectrumSum/ConditionName = IsHit
FSpectrumSum/Hide = false
;-- average of spectrum
FSpectrumAve/ID = 61
FSpectrumAve/HistName = FSpectrum
;FSpectrumAve/ConditionName = IsHit
FSpectrumAve/NbrOfAverages = 200
FSpectrumAve/Hide = false
[;Processor]
;-- subset the corrected 2x2 detector with only the region that contains the spectral data
CsPad2x2Sub/ID = 70
CsPad2x2Sub/HistName = CsPad2x2OffsetAndCommonModeCorrectedAndMasked
CsPad2x2Sub/XLow = 0
CsPad2x2Sub/XUp = 387
CsPad2x2Sub/YLow = 335
CsPad2x2Sub/YUp = 350
CsPad2x2Sub/Hide = true
;-- histogram of for each pixel of the selected region
CsPad2x2SubPixelsHist/ID = 244
CsPad2x2SubPixelsHist/ImageName = CsPad2x2Sub
CsPad2x2SubPixelsHist/XNbrBins = 300
CsPad2x2SubPixelsHist/XLow = -50
CsPad2x2SubPixelsHist/XUp = 250
CsPad2x2SubPixelsHist/XTitle = "ADU Values"
CsPad2x2SubPixelsHist/Hide = false
;-- sum histogram when right condition is matched
CsPad2x2SubPixelsHistSum/ID = 62
CsPad2x2SubPixelsHistSum/HistName = CsPad2x2SubPixelsHist
CsPad2x2SubPixelsHistSum/ConditionName = IsHit
CsPad2x2SubPixelsHistSum/Hide = false
;------------FEE Spectrometer----------
; the spectrometer data
[Processor]
FEESpec/ID = 123
FEESpec/SpectrometerName = FEE-SPEC0_horiz
FEESpec/Size = 2050
FEESpec/Hide = false
;-- display when there should be no signal
FEESpecFelOFF/ID = 123
FEESpecFelOFF/ConditionName = FELOff
FEESpecFelOFF/SpectrometerName = FEE-SPEC0_horiz
FEESpecFelOFF/Size = 2050
FEESpecFelOFF/Hide = false
;--------------statistics-------------------------
; the total number of triggers that were in the files processed
[Processor]
nTrigger/ID = 78
nTrigger/Hide = true
; the number of triggers that contained light (shots)
[Processor]
nShots/ID = 78
nShots/ConditionName = IsLight
nShots/Hide = true
; the number of identified hits
[Processor]
nHits/ID = 78
nHits/ConditionName = IsHit
nHits/Hide = true
;--------------additional info-------------------------
; photon energy and wavelength
[Processor]
photon_energy_eV/ID = 120
photon_energy_eV/VariableName = "EbeamPhotonEnergy"
photon_energy_eV/Hide = false
;--
photon_wavelength_A/ID = 2
photon_wavelength_A/Value = 12398
photon_wavelength_A/HistName = photon_energy_eV
photon_wavelength_A/ValuePos = first
photon_wavelength_A/Operation = "/"
photon_wavelength_A/Hide = false
; detector z position
[Processor]
detector_encoder/ID = 130
detector_encoder/VariableName = "CXI:DS1:MMS:06.RBV"
detector_encoder/Hide = true
;-- convert encoder position to mm
detectordistance_mm/ID = 2
detectordistance_mm/HistName = detector_encoder
detectordistance_mm/Value = 572
detectordistance_mm/ValuePos = second
detectordistance_mm/Operation = "+"
detectordistance_mm/Hide = true
;-- detector z position in m
detectordistance_m/ID = 2
detectordistance_m/HistName = detectordistance_mm
detectordistance_m/Value = 1000
detectordistance_m/ValuePos = second
detectordistance_m/Operation = "/"
detectordistance_m/Hide = true
; GMD Values
[Processor]
f_11_ENRC/ID = 120
f_11_ENRC/VariableName = "f_11_ENRC"
f_11_ENRC/Hide = true
;--
f_12_ENRC/ID = 120
f_12_ENRC/VariableName = "f_12_ENRC"
f_12_ENRC/Hide = true
;--
f_21_ENRC/ID = 120
f_21_ENRC/VariableName = "f_21_ENRC"
f_21_ENRC/Hide = true
;--
f_22_ENRC/ID = 120
f_22_ENRC/VariableName = "f_22_ENRC"
f_22_ENRC/Hide = true
;--
f_63_ENRC/ID = 120
f_63_ENRC/VariableName = "f_63_ENRC"
f_63_ENRC/Hide = true
;--
f_64_ENRC/ID = 120
f_64_ENRC/VariableName = "f_64_ENRC"
f_64_ENRC/Hide = true
; EBeam Parameters
[Processor]
EBeamCharge/ID = 120
EBeamCharge/VariableName = "EBeamCharge"
EBeamCharge/Hide = true
;--
EbeamPkCurrBC2/ID = 120
EbeamPkCurrBC2/VariableName = "EbeamPkCurrBC2"
EbeamPkCurrBC2/Hide = true
;--
EbeamXTCAVAmpl/ID = 120
EbeamXTCAVAmpl/VariableName = "EbeamXTCAVAmpl"
EbeamXTCAVAmpl/Hide = true
;--
EbeamXTCAVPhase/ID = 120
EbeamXTCAVPhase/VariableName = "EbeamXTCAVPhase"
EbeamXTCAVPhase/Hide = true
;--
EbeamDumpCharge/ID = 120
EbeamDumpCharge/VariableName = "EbeamDumpCharge"
EbeamDumpCharge/Hide = true
;--
EbeamUndPosX/ID = 120
EbeamUndPosX/VariableName = "EbeamUndPosX"
EbeamUndPosX/Hide = true
;--
EbeamUndPosY/ID = 120
EbeamUndPosY/VariableName = "EbeamUndPosY"
EbeamUndPosY/Hide = true
;--
EbeamUndAngX/ID = 120
EbeamUndAngX/VariableName = "EbeamUndAngX"
EbeamUndAngX/Hide = true
;--
EbeamUndAngY/ID = 120
EbeamUndAngY/VariableName = "EbeamUndAngY"
EbeamUndAngY/Hide = true
;--
EbeamPkCurrBC1/ID = 120
EbeamPkCurrBC1/VariableName = "EbeamPkCurrBC1"
EbeamPkCurrBC1/Hide = true
;--
fEbeamEnergyBC1/ID = 120
fEbeamEnergyBC1/VariableName = "fEbeamEnergyBC1"
fEbeamEnergyBC1/Hide = true
;--
EbeamEnergyBC2/ID = 120
EbeamEnergyBC2/VariableName = "EbeamEnergyBC2"
EbeamEnergyBC2/Hide = true
;--
EbeamL3Energy/ID = 120
EbeamL3Energy/VariableName = "EbeamL3Energy"
EbeamL3Energy/Hide = true
;--
EbeamLTUAngX/ID = 120
EbeamLTUAngX/VariableName = "EbeamLTUAngX"
EbeamLTUAngX/Hide = true
;--
EbeamLTUAngY/ID = 120
EbeamLTUAngY/VariableName = "EbeamLTUAngY"
EbeamLTUAngY/Hide = true
;--
EbeamLTUPosX/ID = 120
EbeamLTUPosX/VariableName = "EbeamLTUPosX"
EbeamLTUPosX/Hide = true
;--
EbeamLTUPosY/ID = 120
EbeamLTUPosY/VariableName = "EbeamLTUPosY"
EbeamLTUPosY/Hide = true
; ------------things written to h5 files----------------------
; things written in each h5 thats a hit
[Processor]
H5Dump/ID = 1002
H5Dump/CompressLevel = 0
H5Dump/ConditionName = IsHit
H5Dump/FileBaseName = hdf5Outfilename
H5Dump/MaximumNbrFilesPerDir = 500
H5Dump/Processor/size = 200
;--
H5Dump/Processor/1/Name = CsPadCheetah
H5Dump/Processor/1/GroupName = /data
H5Dump/Processor/1/ValName = data
;--
H5Dump/Processor/10/Name = photon_energy_eV
H5Dump/Processor/10/GroupName = /LCLS
;--
H5Dump/Processor/11/Name = photon_wavelength_A
H5Dump/Processor/11/GroupName = /LCLS
;--
H5Dump/Processor/12/Name = detector_encoder
H5Dump/Processor/12/GroupName = /LCLS
;--
H5Dump/Processor/13/Name = detectordistance_mm
H5Dump/Processor/13/GroupName = /LCLS
;--
H5Dump/Processor/14/Name = detectordistance_m
H5Dump/Processor/14/GroupName = /LCLS
;--
H5Dump/Processor/15/Name = f_11_ENRC
H5Dump/Processor/15/GroupName = /LCLS
;--
H5Dump/Processor/16/Name = f_12_ENRC
H5Dump/Processor/16/GroupName = /LCLS
;--
H5Dump/Processor/17/Name = f_21_ENRC
H5Dump/Processor/17/GroupName = /LCLS
;--
H5Dump/Processor/18/Name = f_22_ENRC
H5Dump/Processor/18/GroupName = /LCLS
;--
H5Dump/Processor/19/Name = f_63_ENRC
H5Dump/Processor/19/GroupName = /LCLS
;--
H5Dump/Processor/20/Name = f_64_ENRC
H5Dump/Processor/20/GroupName = /LCLS
;--
H5Dump/Processor/21/Name = EBeamCharge
H5Dump/Processor/21/GroupName = /LCLS
;--
H5Dump/Processor/22/Name = EbeamPkCurrBC2
H5Dump/Processor/22/GroupName = /LCLS
;--
H5Dump/Processor/23/Name = EbeamXTCAVAmpl
H5Dump/Processor/23/GroupName = /LCLS
;--
H5Dump/Processor/24/Name = EbeamXTCAVPhase
H5Dump/Processor/24/GroupName = /LCLS
;--
H5Dump/Processor/25/Name = EbeamDumpCharge
H5Dump/Processor/25/GroupName = /LCLS
;--
H5Dump/Processor/26/Name = EbeamUndPosX
H5Dump/Processor/26/GroupName = /LCLS
;--
H5Dump/Processor/27/Name = EbeamUndPosY
H5Dump/Processor/27/GroupName = /LCLS
;--
H5Dump/Processor/28/Name = EbeamUndAngX
H5Dump/Processor/28/GroupName = /LCLS
;--
H5Dump/Processor/29/Name = EbeamUndAngY
H5Dump/Processor/29/GroupName = /LCLS
;--
H5Dump/Processor/30/Name = EbeamPkCurrBC1
H5Dump/Processor/30/GroupName = /LCLS
;--
H5Dump/Processor/31/Name = fEbeamEnergyBC1
H5Dump/Processor/31/GroupName = /LCLS
;--
H5Dump/Processor/32/Name = EbeamEnergyBC2
H5Dump/Processor/32/GroupName = /LCLS
;--
H5Dump/Processor/33/Name = EbeamL3Energy
H5Dump/Processor/33/GroupName = /LCLS
;--
H5Dump/Processor/34/Name = EbeamLTUAngX
H5Dump/Processor/34/GroupName = /LCLS
;--
H5Dump/Processor/35/Name = EbeamLTUAngY
H5Dump/Processor/35/GroupName = /LCLS
;--
H5Dump/Processor/36/Name = EbeamLTUPosX
H5Dump/Processor/36/GroupName = /LCLS
;--
H5Dump/Processor/37/Name = EbeamLTUPosY
H5Dump/Processor/37/GroupName = /LCLS
;--
H5Dump/Processor/38/Name = FEESpec
H5Dump/Processor/38/GroupName = /LCLS
;--
;things written only at end of run
H5Dump/ProcessorSummary/size = 200
;--
H5Dump/ProcessorSummary/1/Name = CsPadCheetahSum
H5Dump/ProcessorSummary/1/GroupName = /cheetah
H5Dump/ProcessorSummary/1/ValName = powder
;--
H5Dump/ProcessorSummary/2/Name = CsPadCleardCentroidCheetahSum
H5Dump/ProcessorSummary/2/GroupName = /cheetah
H5Dump/ProcessorSummary/2/ValName = powderCentroidPix
;--
;--
H5Dump/ProcessorSummary/5/Name = nTrigger
H5Dump/ProcessorSummary/5/GroupName = /statistics
H5Dump/ProcessorSummary/5/ValName = NumberOfTriggers
;--
H5Dump/ProcessorSummary/6/Name = nShots
H5Dump/ProcessorSummary/6/GroupName = /statistics
H5Dump/ProcessorSummary/6/ValName = NumberOfShots
;--
H5Dump/ProcessorSummary/7/Name = nHits
H5Dump/ProcessorSummary/7/GroupName = /statistics
H5Dump/ProcessorSummary/7/ValName = NumberOfHits
;--
;--
;H5Dump/ProcessorSummary/10/Name = FSpectrumSum
;H5Dump/ProcessorSummary/10/GroupName = /Fluorescence
;H5Dump/ProcessorSummary/10/ValName = Spectrum
;;--
;H5Dump/ProcessorSummary/11/Name = CsPad2x2SubPixelsHistSum
;H5Dump/ProcessorSummary/11/GroupName = /Fluorescence
;H5Dump/ProcessorSummary/11/ValName = PixelHistogram
;--
;--
H5Dump/ProcessorSummary/100/Name = OffsetMapCheetah
H5Dump/ProcessorSummary/100/GroupName = /Checks
H5Dump/ProcessorSummary/100/ValName = OffsetMap
;--
H5Dump/ProcessorSummary/101/Name = OffsetMapHist
H5Dump/ProcessorSummary/101/GroupName = /Checks
H5Dump/ProcessorSummary/101/ValName = OffsetValuesHistogram
;--
H5Dump/ProcessorSummary/102/Name = NoiseMapCheetah
H5Dump/ProcessorSummary/102/GroupName = /Checks
H5Dump/ProcessorSummary/102/ValName = NoiseMap
;--
H5Dump/ProcessorSummary/103/Name = NoiseMapHist
H5Dump/ProcessorSummary/103/GroupName = /Checks
H5Dump/ProcessorSummary/103/ValName = NoiseValuesHistogram
;--
H5Dump/ProcessorSummary/104/Name = BadPixMapCheetah
H5Dump/ProcessorSummary/104/GroupName = /Checks
H5Dump/ProcessorSummary/104/ValName = BadPixMap
;--
H5Dump/ProcessorSummary/105/Name = GainMapCheetah
H5Dump/ProcessorSummary/105/GroupName = /Checks
H5Dump/ProcessorSummary/105/ValName = GainMap
;--
;--
H5Dump/ProcessorSummary/110/Name = SaturatedRatioHistSum
H5Dump/ProcessorSummary/110/GroupName = /Checks
H5Dump/ProcessorSummary/110/ValName = SaturationRatioHistogram
;--
;--
H5Dump/ProcessorSummary/120/Name = CsPad2x2OffsetMap
H5Dump/ProcessorSummary/120/GroupName = /Checks_2x2
H5Dump/ProcessorSummary/120/ValName = OffsetMap
;--
H5Dump/ProcessorSummary/121/Name = CsPad2x2OffsetMapHist
H5Dump/ProcessorSummary/121/GroupName = /Checks_2x2
H5Dump/ProcessorSummary/121/ValName = OffsetValuesHistogram
;--
H5Dump/ProcessorSummary/122/Name = CsPad2x2NoiseMap
H5Dump/ProcessorSummary/122/GroupName = /Checks_2x2
H5Dump/ProcessorSummary/122/ValName = NoiseMap
;--
H5Dump/ProcessorSummary/123/Name = CsPad2x2NoiseMapHist
H5Dump/ProcessorSummary/123/GroupName = /Checks_2x2
H5Dump/ProcessorSummary/123/ValName = NoiseValuesHistogram
;--
H5Dump/ProcessorSummary/124/Name = CsPad2x2BadPixMap
H5Dump/ProcessorSummary/124/GroupName = /Checks_2x2
H5Dump/ProcessorSummary/124/ValName = BadPixMap
;----------------- things written to CBF files ----------------------
[;Processor]
; write the raw detector
CBFDumpRaw/ID = 1500
CBFDumpRaw/HistName = CsPadCBF
CBFDumpRaw/ConditionName = IsHit
CBFDumpRaw/FileBaseName = cbfOutfilename
CBFDumpRaw/MaximumNbrFilesPerDir = 500
;-------------------program control and setup----------------------
; only extract CsPad, other camera data and machine data from the stream
[Converter]
Used = pixeldetector,Machine
LCLSPixelDetectors/size = 5
;-- CsPadImageData
LCLSPixelDetectors/1/Typename = CspadElement
LCLSPixelDetectors/1/DetectorName = CxiDs2
LCLSPixelDetectors/1/DetectorID = 0
LCLSPixelDetectors/1/DeviceName = Cspad
LCLSPixelDetectors/1/DeviceID = 0
LCLSPixelDetectors/1/CASSID = 7
;-- CsPadConfig
LCLSPixelDetectors/2/Typename = CspadConfig
LCLSPixelDetectors/2/DetectorName = CxiDs2
LCLSPixelDetectors/2/DetectorID = 0
LCLSPixelDetectors/2/DeviceName = Cspad
LCLSPixelDetectors/2/DeviceID = 0
LCLSPixelDetectors/2/CASSID = 7
;-- CsPad2x2 Detector
LCLSPixelDetectors/3/Typename = Cspad2x2Element
LCLSPixelDetectors/3/DetectorName = CxiSc2
LCLSPixelDetectors/3/DetectorID = 0
LCLSPixelDetectors/3/DeviceName = Cspad2x2
LCLSPixelDetectors/3/DeviceID = 0
LCLSPixelDetectors/3/CASSID = 12
; what output level should be written into the log file
[Log]
MaxLoggingLevel = "INFO"
;MaxLoggingLevel = "DEBUG4"
Directory = logfiledir
Filename = logfilename.log
; the options for the input
[FileInput]
Parallelize=false