CFEL - ASG Software Suite  2.5.0
CASS
singleParticle.ini
Go to the documentation of this file.
1 ;/** @example singleParticle.ini */
2 ;;
3 ;; single particle detection on a pnCCD detector
4 ;;
5 
6 
7 ; ---------------------the processors--------------------------
8 
9 ;------------------------the raw images ---------------------------
10 
11 
12 ; The rear detector image
13 [Processor]
14 RearPnCCDRaw/ID = 105
15 RearPnCCDRaw/Detector = RearPnCCD
16 RearPnCCDRaw/Hide = false
17 
18 ; The front detector image
19 [Processor]
20 FrontPnCCDRaw/ID = 105
21 FrontPnCCDRaw/Detector = FrontPnCCD
22 FrontPnCCDRaw/Hide = false
23 
24 
25 
26 
27 ; ---------- definition of acutal light in the chamber ---------
28 
29 ; pull the f11enrc gasdet value from the machine data and set a threshold on
30 ; this value.
31 [Processor]
32 GasDetector/ID = 120
33 GasDetector/VariableName = f_11_ENRC
34 GasDetector/Hide = true
35 GasDetectorHistory/ID = 64
36 GasDetectorHistory/HistName = GasDetector
37 GasDetectorHistory/Size = 2400
38 GasDetectorHistory/Hide = false
39 IsLight/ID = 9
40 IsLight/HistName = GasDetector
41 IsLight/UpperLimit = 1e20
42 IsLight/LowerLimit = 0.05
43 IsLight/Hide = true
44 EBeamL3Energy/ID = 120
45 EBeamL3Energy/VariableName = "EbeamL3Energy"
46 EBeamL3Energy/Hide = true
47 EBeamL3EnergyHistory/ID = 64
48 EBeamL3EnergyHistory/HistName = EBeamL3Energy
49 EBeamL3EnergyHistory/Size = 2400
50 EBeamL3EnergyHistory/Hide = false
51 
52 
53 
54 
55 ;------------- definitions of when a hit is found------------------
56 
57 
58 ; an integral over a certain region of the rear detector
59 ; substract the median of the integral from the integral and use
60 ; the substracted to find the hit
61 [Processor]
62 ;RearPnCCDArea/ID = 70
63 ;RearPnCCDArea/HistName = RearPnCCDRaw
64 ;RearPnCCDArea/XLow = 700
65 ;RearPnCCDArea/XUp = 850
66 ;RearPnCCDArea/YLow = 150
67 ;RearPnCCDArea/YUp = 300
68 ;RearPnCCDArea/Hide = true
69 Mask/ID = 302
70 Mask/BinaryFile = "/reg/neh/home1/lutz/analysis/amob3313/mask.bin"
71 Mask/SizeX = 1024
72 Mask/SizeY = 1024
73 Mask/Hide = true
74 MaskedRear/ID = 1
75 MaskedRear/HistOne = RearPnCCDRaw
76 MaskedRear/HistTwo = Mask
77 MaskedRear/Operation = *
78 MaskedRear/Hide = true
79 RearPnCCDAreaIntegral/ID = 82
80 ;RearPnCCDAreaIntegral/HistName = RearPnCCDArea
81 RearPnCCDAreaIntegral/HistName = MaskedRear
82 RearPnCCDAreaIntegral/Statistics = sum
83 RearPnCCDAreaIntegral/Hide = true
84 RearPnCCDIntegralMedian/ID = 301
85 RearPnCCDIntegralMedian/MedianSize = 10
86 RearPnCCDIntegralMedian/HistName = RearPnCCDAreaIntegral
87 RearPnCCDIntegralMedian/Hide = true
88 RearPnCCDIntegralDeviation/ID = 1
89 RearPnCCDIntegralDeviation/HistOne = RearPnCCDAreaIntegral
90 RearPnCCDIntegralDeviation/HistTwo = RearPnCCDIntegralMedian
91 RearPnCCDIntegralDeviation/Operation = "-"
92 RearPnCCDIntegralDeviation/Hide = true
93 RearPnCCDHitfinder/ID = 9
94 RearPnCCDHitfinder/HistName = RearPnCCDIntegralDeviation
95 RearPnCCDHitfinder/UpperLimit = 1e20
96 RearPnCCDHitfinder/LowerLimit = 200000
97 RearPnCCDHitfinder/Hide = true
99 RearPnCCDIntegralDeviationHistory/ID = 64
100 RearPnCCDIntegralDeviationHistory/HistName = RearPnCCDIntegralDeviation
101 RearPnCCDIntegralDeviationHistory/Size = 5000
102 
103 
104 
105 
106 
107 
108 
109 
110 ; define which of the hitfinders defined above will be used as hit
111 ; identification for the later Processors by ANDing this with
112 ; true. Then one can use the IsHit Processor later on, by only
113 ; chaning here which condition to use.
114 [Processor]
115 IsHit/ID = 1
116 IsHit/HistOne = DefaultTrueHist
117 IsHit/HistTwo = RearPnCCDHitfinder
118 IsHit/Operation = "AND"
119 IsHit/Hide = true
120 IsNotHit/ID = 4
121 IsNotHit/HistName = IsHit
122 IsNotHit/Hide = true
123 
124 ; display the real hit rate: average of the isHit over so many shots
125 [Processor]
126 HitRate/ID = 61
127 HitRate/HistName = IsHit
128 HitRate/NbrOfAverages = 50
129 HitRate/Hide = true
130 HitRateHistory/ID = 64
131 HitRateHistory/HistName = HitRate
132 HitRateHistory/Size = 2400
133 HitRateHistory/Hide = false
134 
135 ; display the hit rate of good shots: average of the isHit over so many shots,
136 ; but only when there was light in the chamber
137 [Processor]
138 HitRateLight/ID = 61
139 HitRateLight/HistName = IsHit
140 HitRateLight/ConditionName = IsLight
141 HitRateLight/NbrOfAverages = 600
142 HitRateLight/Hide = true
143 HitRateLightHistory/ID = 64
144 HitRateLightHistory/HistName = HitRateLight
145 HitRateLightHistory/ConditionName = IsLight
146 HitRateLightHistory/Size = 2400
147 HitRateLightHistory/Hide = false
148 
149 
150 ; check if Hit is saturated
151 [Processor]
152 SaturatedImage/ID = 40
153 SaturatedImage/HistName = RearPnCCDRaw
154 SaturatedImage/Threshold = 9000
155 SaturatedImage/ConditionName = IsHit
156 IsSaturatedImage/ID = 82
157 IsSaturatedImage/HistName = SaturatedImage
158 IsSaturatedImage/Statistics = sum
159 IsSaturatedImage/ConditionName = IsHit
160 IsSaturatedImage/Hide = true
161 UnSaturatedImage/ID = 4
162 UnSaturatedImage/HistName = IsSaturatedImage
163 UnSaturatedImage/ConditionName = IsHit
164 UnSaturatedImage/Hide = true
165 IsUnSaturatedHit/ID = 1
166 IsUnSaturatedHit/HistOne = IsHit
167 IsUnSaturatedHit/HistTwo = UnSaturatedImage
168 IsUnSaturatedHit/Operation = "AND"
169 IsUnSaturatedHit/Hide = true
170 
171 ; unsaturated hit rate
172 [Processor]
173 UnSaturatedHitRate/ID = 61
174 UnSaturatedHitRate/HistName = IsUnSaturatedHit
175 UnSaturatedHitRate/NbrOfAverages = 50
176 UnSaturatedHitRate/Hide = true
177 UnSaturatedHitRateHistory/ID = 64
178 UnSaturatedHitRateHistory/HistName = UnSaturatedHitRate
179 UnSaturatedHitRateHistory/Size = 2400
180 UnSaturatedHitRateHistory/Hide = false
181 
182 
183 
184 
185 
186 ;------- Things done when there is a hit ----------------
187 
188 ; The front detector image in the lab frame when there is a hit
189 [Processor]
190 FrontPnCCD/ID = 1602
191 FrontPnCCD/HistName = RearPnCCDRaw
193 FrontPnCCD/GeometryFilename = /reg/neh/home1/lutz/analysis/amob3313/front-pnccd.geom
194 FrontPnCCD/ConvertCheetahToCASSLayout = false
195 FrontPnCCD/Hide = false
196 
197 ;remember the hit of the previous events
198 [Processor]
199 FrontPnCCDMinus1/ID = 56
200 FrontPnCCDMinus1/HistName = FrontPnCCD
201 FrontPnCCDMinus1/ConditionName = IsHit
202 FrontPnCCDMinus1/Hide = false
203 FrontPnCCDMinus2/ID = 56
204 FrontPnCCDMinus2/HistName = FrontPnCCDMinus1
205 FrontPnCCDMinus2/ConditionName = IsHit
206 FrontPnCCDMinus2/Hide = false
207 FrontPnCCDMinus3/ID = 56
208 FrontPnCCDMinus3/HistName = FrontPnCCDMinus2
209 FrontPnCCDMinus3/ConditionName = IsHit
210 FrontPnCCDMinus3/Hide = false
211 FrontPnCCDMinus4/ID = 56
212 FrontPnCCDMinus4/HistName = FrontPnCCDMinus3
213 FrontPnCCDMinus4/ConditionName = IsHit
214 FrontPnCCDMinus4/Hide = false
215 FrontPnCCDMinus5/ID = 56
216 FrontPnCCDMinus5/HistName = FrontPnCCDMinus4
217 FrontPnCCDMinus5/ConditionName = IsHit
218 FrontPnCCDMinus5/Hide = false
219 
220 
221 ; The rear detector image in the lab frame when there is a hit
222 [Processor]
223 RearPnCCD/ID = 1602
224 RearPnCCD/HistName = RearPnCCDRaw
225 RearPnCCD/ConditionName = IsHit
226 RearPnCCD/GeometryFilename = /reg/neh/home1/lutz/analysis/amob3313/rear-pnccd.geom
227 RearPnCCD/ConvertCheetahToCASSLayout = false
228 RearPnCCD/Hide = false
229 ; The rear detector image in the lab frame when there is a unsaturaded hit
230 [Processor]
231 RearPnCCDUnSaturated/ID = 1602
232 RearPnCCDUnSaturated/HistName = RearPnCCDRaw
233 RearPnCCDUnSaturated/ConditionName = IsUnSaturatedHit
234 RearPnCCDUnSaturated/GeometryFilename = /reg/neh/home1/lutz/analysis/amob3313/rear-pnccd.geom
235 RearPnCCDUnSaturated/ConvertCheetahToCASSLayout = false
236 RearPnCCDUnSaturated/Hide = false
237 ; The rear detector image in the lab frame when there is a unsaturaded single particle hit
238 [Processor]
239 RearPnCCDSingleParticle/ID = 1602
240 RearPnCCDSingleParticle/HistName = RearPnCCDRaw
241 RearPnCCDSingleParticle/ConditionName = IsSingleParticleHit
242 RearPnCCDSingleParticle/GeometryFilename = /reg/neh/home1/lutz/analysis/amob3313/rear-pnccd.geom
243 RearPnCCDSingleParticle/ConvertCheetahToCASSLayout = false
244 RearPnCCDSingleParticle/Hide = false
245 
246 ;remember the hit of the previous events
247 [Processor]
248 RearPnCCDMinus1/ID = 56
249 RearPnCCDMinus1/HistName = RearPnCCD
250 RearPnCCDMinus1/ConditionName = IsHit
251 RearPnCCDMinus1/Hide = false
252 RearPnCCDMinus2/ID = 56
253 RearPnCCDMinus2/HistName = RearPnCCDMinus1
254 RearPnCCDMinus2/ConditionName = IsHit
255 RearPnCCDMinus2/Hide = false
256 RearPnCCDMinus3/ID = 56
257 RearPnCCDMinus3/HistName = RearPnCCDMinus2
258 RearPnCCDMinus3/ConditionName = IsHit
259 RearPnCCDMinus3/Hide = false
260 RearPnCCDMinus4/ID = 56
261 RearPnCCDMinus4/HistName = RearPnCCDMinus3
262 RearPnCCDMinus4/ConditionName = IsHit
263 RearPnCCDMinus4/Hide = false
264 RearPnCCDMinus5/ID = 56
265 RearPnCCDMinus5/HistName = RearPnCCDMinus4
266 RearPnCCDMinus5/ConditionName = IsHit
267 RearPnCCDMinus5/Hide = false
268 
269 
270 
271 
272 ; ---------particle size-------------
273 
274 ;radial average of Q-values
275 [Processor]
276 QAverage/ID = 90
277 QAverage/HistName = RearPnCCDRaw
278 QAverage/ConditionName = IsUnSaturatedHit
279 QAverage/GeometryFilename = /reg/neh/home1/lutz/analysis/amob3313/rear-pnccd.geom
280 QAverage/ConvertCheetahToCASSLayout = false
281 ;QAverage/Wavelength_A = 10.333
282 QAverage/DetectorDistance_m = 72e-2
283 QAverage/Wavelength_A = photon_wavelength_A
284 ;QAverage/DetectorDistance_m = detectordistance_m
285 QAverage/PixelSize_m = 75e-6
286 QAverage/XNbrBins = 1000
287 QAverage/XLow = 0
288 QAverage/XUp = 0.02
289 QAverage/XTitle = "Q [1/A]"
290 QAverage/Hide = false
291 
292 ; determine the particle size by the distance between the first 2 minima of the q-average
293 [Processor]
294 ; retrieve a list of local minima of the q-average
295 MinimaTable/ID = 91
296 MinimaTable/HistName = QAverage
297 MinimaTable/Range = 10
298 MinimaTable/ConditionName = IsUnSaturatedHit
299 MinimaTable/Hide = true
300 ; find out how many rows the list has
301 nMinimaTableRows/ID = 88
302 nMinimaTableRows/HistName = MinimaTable
303 nMinimaTableRows/AxisParameter = YNbrBins
304 nMinimaTableRows/ConditionName = IsUnSaturatedHit
305 nMinimaTableRows/Hide = true
306 ; ensure that the list has at least 2 entries
307 MinimaTableHasEnoughRows/ID = 9
308 MinimaTableHasEnoughRows/HistName = nMinimaTableRows
309 MinimaTableHasEnoughRows/UpperLimit = 1e20
310 MinimaTableHasEnoughRows/LowerLimit = 1
311 MinimaTableHasEnoughRows/ConditionName = IsUnSaturatedHit
312 MinimaTableHasEnoughRows/Hide = true
313 HasEnoughRowsUnsaturated/ID = 1
314 HasEnoughRowsUnsaturated/HistOne = IsUnSaturatedHit
315 HasEnoughRowsUnsaturated/HistTwo = MinimaTableHasEnoughRows
316 HasEnoughRowsUnsaturated/Operation = "AND"
317 HasEnoughRowsUnsaturated/Hide = true
318 ; retrieve the ions of the first and second row
319 FirstPosition/ID = 74
320 FirstPosition/TableName = MinimaTable
321 FirstPosition/ColumnIndex = 1
322 FirstPosition/RowIndex = 0
323 FirstPosition/ConditionName = HasEnoughRowsUnsaturated
324 FirstPosition/Hide = true
325 SecondPosition/ID = 74
326 SecondPosition/TableName = MinimaTable
327 SecondPosition/ColumnIndex = 1
328 SecondPosition/RowIndex = 1
329 SecondPosition/ConditionName = HasEnoughRowsUnsaturated
330 SecondPosition/Hide = true
331 ; take the difference between the position values
332 Distance/ID = 1
333 Distance/HistOne = SecondPosition
334 Distance/HistTwo = FirstPosition
335 Distance/Operation = "-"
336 Distance/ConditionName = HasEnoughRowsUnsaturated
337 Distance/Hide = true
338 ; put the difference in a histogram
339 ParticleSizeHist/ID = 60
340 ParticleSizeHist/HistName = Distance
341 ParticleSizeHist/XNbrBins = 100
342 ParticleSizeHist/XLow = 0
343 ParticleSizeHist/XUp = 0.01
344 ParticleSizeHist/XTitle = "size [arb. units]"
345 ParticleSizeHist/ConditionName = HasEnoughRowsUnsaturated
346 ParticleSizeHist/Hide = true
347 ;sum up histogram
348 ParticleSizeHistSum/ID = 62
349 ParticleSizeHistSum/HistName = ParticleSizeHist
350 ParticleSizeHistSum/ConditionName = HasEnoughRowsUnsaturated
351 ParticleSizeHistSum/Hide = false
353 ; retrieve the Position column of the list
354 MinimaTablePositionColumn/ID = 72
355 MinimaTablePositionColumn/TableName = MinimaTable
356 MinimaTablePositionColumn/ColumnIndex = 1
357 MinimaTablePositionColumn/ConditionName = IsUnSaturatedHit
358 MinimaTablePositionColumn/Hide = true
359 ; put the Positions into a histogram with the same dimensions as the q-average
360 MinimaPositions/ID = 60
361 MinimaPositions/HistName = MinimaTablePositionColumn
362 MinimaPositions/XNbrBins = 1000
363 MinimaPositions/XLow = 0
364 MinimaPositions/XUp = 0.02
365 MinimaPositions/XTitle = "Q [1/A]"
366 MinimaPositions/ConditionName = IsUnSaturatedHit
367 MinimaPositions/Hide = true
368 ; get the maximum value of the q-average
369 QAverageMaxValue/ID = 71
370 QAverageMaxValue/HistName = QAverage
371 QAverageMaxValue/RetrieveType = max
372 QAverageMaxValue/ConditionName = IsUnSaturatedHit
373 QAverageMaxValue/Hide = true
374 ; multiply the histogram with the maximum value of the q-average
375 ScaledMinimaPositions/ID = 2
376 ScaledMinimaPositions/HistName = MinimaPositions
377 ;ScaledMinimaPositions/ValueName = QAverageMaxValue
378 ScaledMinimaPositions/Value = 10000
379 ScaledMinimaPositions/Operation = "*"
380 ScaledMinimaPositions/ValuePos = "second"
381 ScaledMinimaPositions/ConditionName = IsUnSaturatedHit
382 ScaledMinimaPositions/Hide = true
383 ; add the histogram with the q-average to mark where the minima where found
384 QAverageNodes/ID = 1
385 QAverageNodes/HistOne = QAverage
386 QAverageNodes/HistTwo = ScaledMinimaPositions
387 QAverageNodes/Operation = "+"
388 QAverageNodes/ConditionName = IsUnSaturatedHit
389 QAverageNodes/Hide = false
390 
391 ; particle size as filter for real single particle hits
392 [Processor]
393 SingleParticle/ID = 9
394 SingleParticle/HistName = Distance
395 SingleParticle/UpperLimit = 0.01
396 SingleParticle/LowerLimit = 0.0015
397 SingleParticle/ConditionName = IsUnSaturatedHit
398 SingleParticle/Hide = true
399 IsSingleParticleHit/ID = 1
400 IsSingleParticleHit/HistOne = SingleParticle
401 IsSingleParticleHit/HistTwo = IsUnSaturatedHit
402 IsSingleParticleHit/Operation = "AND"
403 IsSingleParticleHit/Hide = true
404 
405 ; single particle hit rate
406 [Processor]
407 SingleParticleHitRate/ID = 61
408 SingleParticleHitRate/HistName = IsSingleParticleHit
409 SingleParticleHitRate/NbrOfAverages = 50
410 SingleParticleHitRate/Hide = true
411 SingleParticleHitRateHistory/ID = 64
412 SingleParticleHitRateHistory/HistName = SingleParticleHitRate
413 SingleParticleHitRateHistory/Size = 2400
414 SingleParticleHitRateHistory/Hide = false
415 
416 
417 
418 ;---------- Intensity distribution -------------
419 
420 ; Integral of the rear image
421 [Processor]
422 RearPnCCDSub/ID = 70
423 RearPnCCDSub/HistName = RearPnCCDRaw
424 RearPnCCDSub/XLow = 512
425 RearPnCCDSub/XUp = 650
426 RearPnCCDSub/YLow = 512
427 RearPnCCDSub/YUp = 650
428 RearPnCCDSub/ConditionName = IsUnSaturatedHit
429 RearPnCCDSub/Hide = true
430 RearPnCCDSubIntegral/ID = 82
431 RearPnCCDSubIntegral/HistName = RearPnCCDSub
432 RearPnCCDSubIntegral/Statistics = sum
433 RearPnCCDSubIntegral/ConditionName = IsUnSaturatedHit
434 RearPnCCDSubIntegral/Hide = false
435 
436 ; Histogram of the integral values
437 [Processor]
438 RearPnCCDIntegralHist/ID = 60
439 RearPnCCDIntegralHist/HistName = RearPnCCDSubIntegral
440 RearPnCCDIntegralHist/XNbrBins = 100
441 RearPnCCDIntegralHist/XLow = 1e5
442 RearPnCCDIntegralHist/XUp = 1e6
443 RearPnCCDIntegralHist/XTitle = "size [arb. units]"
444 RearPnCCDIntegralHist/ConditionName = IsUnSaturatedHit
445 RearPnCCDIntegralHist/Hide = true
446 ;sum up histogram
447 RearPnCCDIntegralHistSum/ID = 62
448 RearPnCCDIntegralHistSum/HistName = RearPnCCDIntegralHist
449 RearPnCCDIntegralHistSum/ConditionName = IsUnSaturatedHit
450 RearPnCCDIntegralHistSum/Hide = false
451 
452 
453 ;--------------statistics-------------------------
454 
455 ; the total number of triggers that were in the files processed
456 [Processor]
457 nTrigger/ID = 78
458 nTrigger/Hide = true
459 
460 ; the number of triggers that contained light (shots)
461 [Processor]
462 nShots/ID = 78
463 nShots/ConditionName = IsLight
464 nShots/Hide = true
465 
466 ; the number of identified hits
467 [Processor]
468 nHits/ID = 78
469 nHits/ConditionName = IsHit
470 nHits/Hide = true
471 
472 ; the number of unsaturated hits
473 [Processor]
474 nUnSaturatedHits/ID = 78
475 nUnSaturatedHits/ConditionName = IsUnSaturatedHit
476 nUnSaturatedHits/Hide = true
477 
478 ; the number of single particle hits
479 [Processor]
480 nSingleParticleHits/ID = 78
481 nSingleParticleHits/ConditionName = IsSingleParticleHit
482 nSingleParticleHits/Hide = true
483 
484 
485 ;---------------------- Misc ---------------------------
486 
487 [Processor]
488 photon_energy_eV/ID = 230
489 photon_energy_eV/ConditionName = IsHit
490 photon_energy_eV/Hide = true
491 
492 [Processor]
493 photon_wavelength_A/ID = 2
494 photon_wavelength_A/ConditionName = IsHit
495 photon_wavelength_A/Value = 12398
496 photon_wavelength_A/HistName = photon_energy_eV
497 photon_wavelength_A/ValuePos = first
498 photon_wavelength_A/Operation = "/"
499 photon_wavelength_A/Hide = true
500 
501 [Processor]
502 f_11_ENRC/ID = 120
503 f_11_ENRC/ConditionName = IsHit
504 f_11_ENRC/VariableName = "f_11_ENRC"
505 f_11_ENRC/Hide = true
506 
507 [Processor]
508 f_12_ENRC/ID = 120
509 f_12_ENRC/ConditionName = IsHit
510 f_12_ENRC/VariableName = "f_12_ENRC"
511 f_12_ENRC/Hide = true
512 
513 [Processor]
514 f_21_ENRC/ID = 120
515 f_21_ENRC/ConditionName = IsHit
516 f_21_ENRC/VariableName = "f_21_ENRC"
517 f_21_ENRC/Hide = true
518 
519 [Processor]
520 f_22_ENRC/ID = 120
521 f_22_ENRC/ConditionName = IsHit
522 f_22_ENRC/VariableName = "f_22_ENRC"
523 f_22_ENRC/Hide = true
524 
525 [Processor]
526 EBeamCharge/ID = 120
527 EBeamCharge/ConditionName = IsHit
528 EBeamCharge/VariableName = "EbeamCharge"
529 EBeamCharge/Hide = true
530 
531 [Processor]
532 EbeamPkCurrBC2/ID = 120
533 EbeamPkCurrBC2/ConditionName = IsHit
534 EbeamPkCurrBC2/VariableName = "EbeamPkCurrBC2"
535 EbeamPkCurrBC2/Hide = true
536 
537 [Processor]
538 FrontPnCCDPosX/ID = 130
539 FrontPnCCDPosX/ConditionName = IsHit
540 FrontPnCCDPosX/VariableName = "AMO:LMP:MMS:09.RBV"
541 FrontPnCCDPosX/Hide = true
542 
543 [Processor]
544 FrontPnCCDPosZ/ID = 130
545 FrontPnCCDPosZ/ConditionName = IsHit
546 FrontPnCCDPosZ/VariableName = "AMO:LMP:MMS:10.ERBV"
547 FrontPnCCDPosZ/Hide = true
548 
549 [Processor]
550 FrontPnCCDTopPosY/ID = 130
551 FrontPnCCDTopPosY/ConditionName = IsHit
552 FrontPnCCDTopPosY/VariableName = "AMO:LMP:MMS:07.ERBV"
553 FrontPnCCDTopPosY/Hide = true
554 
555 [Processor]
556 FrontPnCCDBottomPosY/ID = 130
557 FrontPnCCDBottomPosY/ConditionName = IsHit
558 FrontPnCCDBottomPosY/VariableName = "AMO:LMP:MMS:08.ERBV"
559 FrontPnCCDBottomPosY/Hide = true
560 
561 
562 
563 
564 ;------------------------------- output----------------------------
565 
566 
567 
568 [Processor]
569 H5Dump/ID = 1002
570 H5Dump/CompressLevel = 0
571 H5Dump/ConditionName = IsHit
572 H5Dump/FileBaseName = outfilename
573 H5Dump/MaximumNbrFilesPerDir = 1000
574 
575 H5Dump/Processor/size = 20
576 ;--
577 H5Dump/Processor/1/Name = photon_energy_eV
578 H5Dump/Processor/1/GroupName = /LCLS/
579 ;--
580 H5Dump/Processor/2/Name = photon_wavelength_A
581 H5Dump/Processor/2/GroupName = /LCLS
582 ;--
583 H5Dump/Processor/3/Name = RearPnCCDRaw
584 H5Dump/Processor/3/GroupName = /data
585 ;--
586 H5Dump/Processor/4/Name = FrontPnCCDRaw
587 H5Dump/Processor/4/GroupName = /data
588 ;--
589 H5Dump/Processor/5/Name = f_11_ENRC
590 H5Dump/Processor/5/GroupName = /LCLS
591 ;--
592 H5Dump/Processor/6/Name = f_12_ENRC
593 H5Dump/Processor/6/GroupName = /LCLS
594 ;--
595 H5Dump/Processor/7/Name = f_21_ENRC
596 H5Dump/Processor/7/GroupName = /LCLS
597 ;--
598 H5Dump/Processor/8/Name = f_22_ENRC
599 H5Dump/Processor/8/GroupName = /LCLS
600 ;--
601 H5Dump/Processor/9/Name = EBeamCharge
602 H5Dump/Processor/9/GroupName = /LCLS
603 ;--
604 H5Dump/Processor/10/Name = EbeamPkCurrBC2
605 H5Dump/Processor/10/GroupName = /LCLS
606 ;--
607 H5Dump/Processor/11/Name = FrontPnCCDPosX
608 H5Dump/Processor/11/GroupName = /LCLS
609 ;--
610 H5Dump/Processor/12/Name = FrontPnCCDPosZ
611 H5Dump/Processor/12/GroupName = /LCLS
612 ;--
613 H5Dump/Processor/13/Name = FrontPnCCDTopPosY
614 H5Dump/Processor/13/GroupName = /LCLS
615 ;--
616 H5Dump/Processor/14/Name = FrontPnCCDBottomPosY
617 H5Dump/Processor/14/GroupName = /LCLS
618 
619 ;things written only at end of run
620 H5Dump/ProcessorSummary/size = 20
621 ;--
622 H5Dump/ProcessorSummary/1/Name = FrontPnCCDPosX
623 H5Dump/ProcessorSummary/1/GroupName = /LCLS
624 ;--
625 H5Dump/ProcessorSummary/2/Name = FrontPnCCDPosZ
626 H5Dump/ProcessorSummary/2/GroupName = /LCLS
627 ;--
628 H5Dump/ProcessorSummary/3/Name = FrontPnCCDTopPosY
629 H5Dump/ProcessorSummary/3/GroupName = /LCLS
630 ;--
631 H5Dump/ProcessorSummary/4/Name = FrontPnCCDBottomPosY
632 H5Dump/ProcessorSummary/4/GroupName = /LCLS
633 ;--
634 H5Dump/ProcessorSummary/5/Name = nTrigger
635 H5Dump/ProcessorSummary/5/GroupName = /statistics
636 H5Dump/ProcessorSummary/5/ValName = NumberOfTriggers
637 ;--
638 H5Dump/ProcessorSummary/6/Name = nShots
639 H5Dump/ProcessorSummary/6/GroupName = /statistics
640 H5Dump/ProcessorSummary/6/ValName = NumberOfShots
641 ;--
642 H5Dump/ProcessorSummary/8/Name = nHits
643 H5Dump/ProcessorSummary/8/GroupName = /statistics
644 H5Dump/ProcessorSummary/8/ValName = NumberOfHits
645 ;--
646 H5Dump/ProcessorSummary/9/Name = nUnSaturatedHits
647 H5Dump/ProcessorSummary/9/GroupName = /statistics
648 H5Dump/ProcessorSummary/9/ValName = NumberOfUnsaturatedHits
649 ;--
650 H5Dump/ProcessorSummary/10/Name = nSingleParticleHits
651 H5Dump/ProcessorSummary/10/GroupName = /statistics
652 H5Dump/ProcessorSummary/10/ValName = NumberOfSingleParticleHits
653 
654 
655 
656 ;-------------------program control and setup----------------------
657 
658 ;disable the pre analyzers as their functionality is ported to the new framework
659 [PreAnalyzer]
661 usepnCCDAnalyzer = false
662 
663 ; only extract pnCCD, other camera data and machine data from the stream
664 [Converter]
666 LCLSPixelDetectors/size = 5
667 
668 LCLSPixelDetectors/1/Typename = pnCCDframe
669 LCLSPixelDetectors/1/DetectorName = Camp
670 LCLSPixelDetectors/1/DetectorID = 0
671 LCLSPixelDetectors/1/DeviceName = pnCCD
672 LCLSPixelDetectors/1/DeviceID = 0
673 LCLSPixelDetectors/1/CASSID = 0
674 
675 LCLSPixelDetectors/2/Typename = pnCCDconfig
676 LCLSPixelDetectors/2/DetectorName = Camp
677 LCLSPixelDetectors/2/DetectorID = 0
678 LCLSPixelDetectors/2/DeviceName = pnCCD
679 LCLSPixelDetectors/2/DeviceID = 0
680 LCLSPixelDetectors/2/CASSID = 0
681 
682 
683 LCLSPixelDetectors/3/Typename = pnCCDframe
684 LCLSPixelDetectors/3/DetectorName = Camp
685 LCLSPixelDetectors/3/DetectorID = 0
686 LCLSPixelDetectors/3/DeviceName = pnCCD
687 LCLSPixelDetectors/3/DeviceID = 1
688 LCLSPixelDetectors/3/CASSID = 1
689 
690 LCLSPixelDetectors/4/Typename = pnCCDconfig
691 LCLSPixelDetectors/4/DetectorName = Camp
692 LCLSPixelDetectors/4/DetectorID = 0
693 LCLSPixelDetectors/4/DeviceName = pnCCD
694 LCLSPixelDetectors/4/DeviceID = 1
695 LCLSPixelDetectors/4/CASSID = 1
696 
697 
698 
699 ; what output level should be written into the log file
700 [Log]
702 Directory = "logfiledir"
703 Filename = "logfilename.log"
704 
705 
706 
707 
708 
709 ;------------------definition of the Front detector----------------
710 [PixelDetectors]
712 
713 ; set up the hll like processing (removes offset and applies the mask)
715 ; set up the common mode correction
716 FrontPnCCD/HLLProcessing/CommonModeCalculationType = "none"
717 ;FrontPnCCD/HLLProcessing/CommonModeCalculationType = "simpleMean"
718 FrontPnCCD/HLLProcessing/CommonModeCorrection/Width = 128
719 FrontPnCCD/HLLProcessing/CommonModeCorrection/Multiplier = 4
720 FrontPnCCD/HLLProcessing/SimpleMeanCommonMode/MinNbrPixels = 20
721 ; set up how to create the noise, offset map
722 FrontPnCCD/CorrectionMaps/NoisyPixelThreshold = -1
724 FrontPnCCD/CorrectionMaps/MapCreatorType = "onlinecommonmode"
725 ;FrontPnCCD/CorrectionMaps/FixedOnlineCreatorCommonMode/StartInstantly = true
726 FrontPnCCD/CorrectionMaps/FixedOnlineCreatorCommonMode/NbrFrames = 200
727 FrontPnCCD/CorrectionMaps/FixedOnlineCreatorCommonMode/WriteMaps = true
728 FrontPnCCD/CorrectionMaps/FixedOnlineCreatorCommonMode/Multiplier = 4
729 FrontPnCCD/CorrectionMaps/FixedOnlineCreatorCommonMode/CommonModeCalculationType = "none"
730 FrontPnCCD/CorrectionMaps/InputOffsetNoiseFiletype = "cass"
731 FrontPnCCD/CorrectionMaps/InputOffsetNoiseFilename = "darkcal_0.lnk"
732 FrontPnCCD/CorrectionMaps/OutputOffsetNoiseFiletype = "cass"
733 ;FrontPnCCD/CorrectionMaps/OutputOffsetNoiseFilename = "darkcal_0.cal"
734 ;the mask elements
735 FrontPnCCD/CorrectionMaps/Mask/size = 1
736 ; the cut part of the ccd
737 FrontPnCCD/CorrectionMaps/Mask/1/MaskElementType = "square"
738 FrontPnCCD/CorrectionMaps/Mask/1/LowerLeftX = 488
739 FrontPnCCD/CorrectionMaps/Mask/1/LowerLeftY = 480
740 FrontPnCCD/CorrectionMaps/Mask/1/UpperRightX = 533
741 FrontPnCCD/CorrectionMaps/Mask/1/UpperRightY = 541
742 ;example mask types
743 ;FrontPnCCD/CorrectionMaps/Mask/1/MaskElementType = "circle"
744 ;FrontPnCCD/CorrectionMaps/Mask/1/CenterX = 500
745 ;FrontPnCCD/CorrectionMaps/Mask/1/CenterY = 500
746 ;FrontPnCCD/CorrectionMaps/Mask/1/Radius = 100
747 ;FrontPnCCD/CorrectionMaps/Mask/2/MaskElementType = "square"
748 ;FrontPnCCD/CorrectionMaps/Mask/2/LowerLeftX = 10
749 ;FrontPnCCD/CorrectionMaps/Mask/2/LowerLeftY = 10
750 ;FrontPnCCD/CorrectionMaps/Mask/2/UpperRightX = 90
751 ;FrontPnCCD/CorrectionMaps/Mask/2/UpperRightY = 90
752 ;FrontPnCCD/CorrectionMaps/Mask/3/MaskElementType = "ellipse"
753 ;FrontPnCCD/CorrectionMaps/Mask/3/CenterX = 500
754 ;FrontPnCCD/CorrectionMaps/Mask/3/CenterY = 500
755 ;FrontPnCCD/CorrectionMaps/Mask/3/SemiAxisX = 50
756 ;FrontPnCCD/CorrectionMaps/Mask/3/SemiAxisY = 10
757 ;FrontPnCCD/CorrectionMaps/Mask/4/MaskElementType = "triangle"
758 ;FrontPnCCD/CorrectionMaps/Mask/4/PointA_X = 10
759 ;FrontPnCCD/CorrectionMaps/Mask/4/PointA_Y = 10
760 ;FrontPnCCD/CorrectionMaps/Mask/4/PointB_X = 20
761 ;FrontPnCCD/CorrectionMaps/Mask/4/PointB_Y = 10
762 ;FrontPnCCD/CorrectionMaps/Mask/4/PointC_X = 10
763 ;FrontPnCCD/CorrectionMaps/Mask/4/PointC_Y = 20
764 
765 
766 
767 
768 
769 ;------------------definition of the rear detector-----------------
770 [PixelDetectors]
771 RearPnCCD/Detector = 1
772 
773 ; set up the hll like processing (removes offset and applies the mask)
774 RearPnCCD/FrameProcessorType = "hll"
775 ; set up the common mode correction
776 RearPnCCD/HLLProcessing/CommonModeCalculationType = "none"
777 ;RearPnCCD/HLLProcessing/CommonModeCalculationType = "simpleMean"
778 RearPnCCD/HLLProcessing/CommonModeCorrection/Width = 128
779 RearPnCCD/HLLProcessing/CommonModeCorrection/Multiplier = 4
780 RearPnCCD/HLLProcessing/SimpleMeanCommonMode/MinNbrPixels = 20
781 ; set up how to create the noise, offset map
782 RearPnCCD/CorrectionMaps/NoisyPixelThreshold = -1
783 ;RearPnCCD/CorrectionMaps/NoisyPixelThreshold = 1e20
784 ;RearPnCCD/CorrectionMaps/LowerNoisyPixelThreshold = -1e20
785 RearPnCCD/CorrectionMaps/MapCreatorType = "onlinecommonmode"
786 ;RearPnCCD/CorrectionMaps/FixedOnlineCreatorCommonMode/StartInstantly = true
787 RearPnCCD/CorrectionMaps/FixedOnlineCreatorCommonMode/NbrFrames = 200
788 RearPnCCD/CorrectionMaps/FixedOnlineCreatorCommonMode/WriteMaps = true
789 RearPnCCD/CorrectionMaps/FixedOnlineCreatorCommonMode/Multiplier = 4
790 RearPnCCD/CorrectionMaps/FixedOnlineCreatorCommonMode/CommonModeCalculationType = "none"
791 RearPnCCD/CorrectionMaps/InputOffsetNoiseFiletype = "cass"
792 RearPnCCD/CorrectionMaps/InputOffsetNoiseFilename = "darkcal_1.lnk"
793 RearPnCCD/CorrectionMaps/OutputOffsetNoiseFiletype = "cass"
794 ;RearPnCCD/CorrectionMaps/OutputOffsetNoiseFilename = "darkcal_1.cal"
795 ;the mask elements
796 RearPnCCD/CorrectionMaps/Mask/size = 1
797 ; the center of the detector
798 RearPnCCD/CorrectionMaps/Mask/1/MaskElementType = "square"
799 RearPnCCD/CorrectionMaps/Mask/1/LowerLeftX = 488
800 RearPnCCD/CorrectionMaps/Mask/1/LowerLeftY = 480
801 RearPnCCD/CorrectionMaps/Mask/1/UpperRightX = 533
802 RearPnCCD/CorrectionMaps/Mask/1/UpperRightY = 541
803 ;example mask types
804 ;RearPnCCD/CorrectionMaps/Mask/1/MaskElementType = "circle"
805 ;RearPnCCD/CorrectionMaps/Mask/1/CenterX = 500
806 ;RearPnCCD/CorrectionMaps/Mask/1/CenterY = 500
807 ;RearPnCCD/CorrectionMaps/Mask/1/Radius = 100
808 ;RearPnCCD/CorrectionMaps/Mask/2/MaskElementType = "square"
809 ;RearPnCCD/CorrectionMaps/Mask/2/LowerLeftX = 10
810 ;RearPnCCD/CorrectionMaps/Mask/2/LowerLeftY = 10
811 ;RearPnCCD/CorrectionMaps/Mask/2/UpperRightX = 90
812 ;RearPnCCD/CorrectionMaps/Mask/2/UpperRightY = 90
813 ;RearPnCCD/CorrectionMaps/Mask/3/MaskElementType = "ellipse"
814 ;RearPnCCD/CorrectionMaps/Mask/3/CenterX = 500
815 ;RearPnCCD/CorrectionMaps/Mask/3/CenterY = 500
816 ;RearPnCCD/CorrectionMaps/Mask/3/SemiAxisX = 50
817 ;RearPnCCD/CorrectionMaps/Mask/3/SemiAxisY = 10
818 ;RearPnCCD/CorrectionMaps/Mask/4/MaskElementType = "triangle"
819 ;RearPnCCD/CorrectionMaps/Mask/4/PointA_X = 10
820 ;RearPnCCD/CorrectionMaps/Mask/4/PointA_Y = 10
821 ;RearPnCCD/CorrectionMaps/Mask/4/PointB_X = 20
822 ;RearPnCCD/CorrectionMaps/Mask/4/PointB_Y = 10
823 ;RearPnCCD/CorrectionMaps/Mask/4/PointC_X = 10
824 ;RearPnCCD/CorrectionMaps/Mask/4/PointC_Y = 20
definition of acutal light in the chamber
FrontPnCCD CorrectionMaps Mask Radius
single particle detection on a pnCCD detector
the raw images
RearPnCCDArea XLow
FrontPnCCD CorrectionMaps Mask PointA_X
determine the particle size by the distance between the first minima of the q average[Processor]
find nbr of bragg peaks by taking background with pixels that are free of
things written to h5 files
GainMap BinaryFile
FrontPnCCD CorrectionMaps Mask PointC_Y
the cut part of the ccd FrontPnCCD CorrectionMaps Mask MaskElementType
RearPnCCDArea HistName
definitions of when a hit is found
H5Dump ProcessorSummary ValName
create the noise and bad pixel map[Processor]
including pump probe analysis
FrontPnCCD CorrectionMaps LowerNoisyPixelThreshold
GeneratedMaps HistTwo
Definition: Darkcal.ini:78
conversion factor for keV pulse_energy ValuePos
set up how to create the noise
FrontPnCCD CorrectionMaps Mask PointC_X
FrontPnCCD CorrectionMaps Mask UpperRightX
the number of triggers that contained light(shots)[Processor] nShots/ID
FrontPnCCD CorrectionMaps Mask PointB_X
FrontPnCCD CorrectionMaps Mask LowerLeftX
FrontPnCCD CorrectionMaps Mask SemiAxisX
BraggPeakTableNoOutliers GeometryFilename
Average out the iShit status to get the avererage hits
display the hit rate of good shots
substract the median of the integral from the integral and use
QAverage Wavelength_A
QAverage DetectorDistance_m
pulse_energy Value
only extract FrontPnCCD
squaresize to check
Definition: hdf5-input.ini:48
set up the hll like processing(removes offset and applies the mask) FrontPnCCD/FrameProcessorType
CsPadImageData LCLSPixelDetectors Typename
true Then one can use the IsHit Processor later by only
particle size
FrontPnCCD CorrectionMaps Mask PointA_Y
what output level should be written into the log file[Log] MaxLoggingLevel
FrontPnCCD CorrectionMaps Mask CenterX
set up the common mode correction FrontPnCCD HLLProcessing CommonModeCalculationType
only extract pnCCD
program control and setup
front pnCCD LCLSPixelDetectors CASSID
RearPnCCDArea YUp
FrontPnCCD CorrectionMaps OutputOffsetNoiseFilename
fluorescence front
FrontPnCCD CorrectionMaps Mask CenterY
RearPnCCDArea YLow
pull the f11enrc gasdet value from the machine data and set a threshold on
CsPadDarkCal ConditionName
disable the pre analyzers as their functionality is ported to the new framework[PreAnalyzer] useCommercialCCDAnalyzer
FrontPnCCD CorrectionMaps Mask PointB_Y
monitoring
identification for the later Processors by ANDing this with
auxiliary data[Processor]
H5Dump ProcessorSummary GroupName
set up the common mode correction
rootdump CompressLevel
Definition: hdf5-input.ini:222
the substracted to find the hit[Processor]
Electrons_ YNbrBins
Definition: hdf5-input.ini:86
display the real hit rate
noise and mask[Processor]
statistics
ETOF_1_vs_Delay_ XTitle
Definition: hdf5-input.ini:205
definition of the Front detector[PixelDetectors] FrontPnCCD Detector
Processor
set up the correction maps used with the hll type processing FrontPnCCD FrameProcessorType
simpleMoreOptions for box hitfinding E SimpleFinder Threshold
Definition: hdf5-input.ini:47
The rear detector image[Processor] RearPnCCDRaw ID
only extract other camera data and machine data from the stream[Converter] Used
RearPnCCDArea XUp
RearPnCCDArea Hide
ScaledMinimaPositions ValueName
PixelDetectors E CorrectionMaps InputOffsetNoiseFilename
Definition: hdf5-input.ini:52
offset
example mask types
GeneratedMaps HistOne
Definition: Darkcal.ini:77
Electrons_ XNbrBins
Definition: hdf5-input.ini:83
the processors
set up how to create the offset map FrontPnCCD CorrectionMaps NoisyPixelThreshold
FrontPnCCD CorrectionMaps FixedOnlineCreatorCommonMode StartInstantly
check if there is some light in the chamber based upon the GMD value
H5Dump Processor Name
FrontPnCCD CorrectionMaps Mask UpperRightY
T retrieve(std::ifstream &file)
retrieve a variable from a file stream
Definition: cass.h:209
Intensity distribution
FrontPnCCD CorrectionMaps Mask SemiAxisY
FrontPnCCD CorrectionMaps Mask LowerLeftY