Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NXxps sub app-def #30

Closed
wants to merge 36 commits into from
Closed

NXxps sub app-def #30

wants to merge 36 commits into from

Conversation

lukaspie
Copy link
Collaborator

@lukaspie lukaspie commented Apr 25, 2023

This is the initial draft for the contributed application definition for XPS. Related to #90.

EDIT: Everything below is outdated.
There are several items that need to be discussed before this pull request can be merged:

- /instrument/energy_resolution should be recommended, not required -> is a measured value (typically from Ag 3d5/2 FWHM of sputter-cleaned Ag foil), but is (a) not known every time and can (b) update over time (detector degradation). The actual energy resolution of the measurement depends strongly on the sample and the X-ray source.

- /instrument/source(NXsource): do we want to allow UPS measurements as well? -> UV source

- /instrument/beam_probe/distance: cannot really be required, hard to determine experimentally.
- /instrument/beam_probe/incident_energy_spread: is it needed?
- /instrument/beam_/incident_polarization: is it needed?

- /instrument/collectioncolumn/transmission_function:
- should it be stored here and/or with the intensity calibration?

- update type and units

- /instrument/energydispersion/scheme:
Are there any other possible values other than

[
"Standard",
"Angular dispersive",
"Selective area",
]

- /instrument/energydispersion/energy_scan_mode:
- which enumeration values make sense? Currently:
[
"fixed analyzer transmission",
"fixed retarding ratio",
"fixed energies",
"snapshot",
"detector voltage scan",
"constant final state",
"constant initial state",
]

- update doc

- /instrument/energydispersion/iris:
- does this belong to energydispersion or collectioncolumns?

- /instrument/electron_detector/amplifier_type:
- can there be any other than "MCP" or "channeltron"?

- /instrument/electron_detector/detector_type
Are there any other possible values other than
[
"DLD",
"Phosphor+CCD",
"Phosphor+CMOS",
"ECMOS",
"Anode",
"Multi-anode",
]

- /instrument/geometry
- This should not be NXtransformation.

- /sample/preparation_date
- how to handle multiple preparation and pre-treatments on different days

- /sample/type
- Add more examples to the enumeration

- /calibration/intensity_calibration/transmission_function:
- update doc

- /data/energy/type:
- indicate if energy axis is given in kinetic or binding energy values.

- /data/energy/step_size:
- does this belong here, could also be on collectioncolumn?

others:
- use of flood gun?
- where to store transmission function?
- How to present dwell time?

@lukaspie lukaspie self-assigned this Apr 25, 2023
@lukaspie lukaspie marked this pull request as draft April 25, 2023 06:58
@lukaspie lukaspie added the enhancement New feature or request label Apr 25, 2023
@lukaspie lukaspie changed the title Initial draft of NXmpes_xps sub app-def NXmpes_xps sub app-def May 5, 2023
@lukaspie lukaspie marked this pull request as ready for review May 5, 2023 09:35
@lukaspie lukaspie requested a review from domna May 5, 2023 09:35
Instead of having two fields on the instrument for the angle between beam and sample and the angle between beam and analyser, this information is stored in depends_on and NXtransformations in NXinstrument and NXsample, respectively.
 - The transmission function contains an additional NXnote field "file" describing the file in which the TF data is stored.
@lukaspie lukaspie marked this pull request as draft May 9, 2023 12:30
lukaspie added 10 commits May 9, 2023 14:32
- Angle between beam and sample normal-> needed for determination of probing depth
- Angle between beam and analyzer axes -> needed for data analysis
Instead of having two fields on the instrument for the angle between beam and sample and the angle between beam and analyser, this information is stored in depends_on and NXtransformations in NXinstrument and NXsample, respectively.
 - The transmission function contains an additional NXnote field "file" describing the file in which the TF data is stored.
Copy link
Collaborator

@rettigl rettigl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a lot of great suggestions here. I have, however, one quite general comment: What is your goal for this application definition, i.e. what application do you have in mind that this should enable? I see most of your suggestions as very important additions, would however either place them in NXmpes, or in the base classes, and don't see why this has to be an extra application definition, because I don't see the use case that distincts it from the most general NXmpes.

In any case, you should add any item you add here and that is not in NXmpes to the respective base classes, because otherwise you break compatibility with NXmpes (an NXmpes_xps file will then not conform to NXmpes, because your newly added fields are not defined within the scope of NXmpes).

contributed_definitions/nyaml/NXmpes_xps.yaml Outdated Show resolved Hide resolved
contributed_definitions/nyaml/NXmpes_xps.yaml Outdated Show resolved Hide resolved
contributed_definitions/nyaml/NXmpes_xps.yaml Outdated Show resolved Hide resolved
contributed_definitions/nyaml/NXmpes_xps.yaml Outdated Show resolved Hide resolved
contributed_definitions/nyaml/NXmpes_xps.yaml Outdated Show resolved Hide resolved
contributed_definitions/nyaml/NXmpes_xps.yaml Outdated Show resolved Hide resolved
contributed_definitions/nyaml/NXmpes_xps.yaml Outdated Show resolved Hide resolved
contributed_definitions/nyaml/NXmpes_xps.yaml Outdated Show resolved Hide resolved
contributed_definitions/nyaml/NXmpes_xps.yaml Outdated Show resolved Hide resolved
contributed_definitions/nyaml/NXmpes_xps.yaml Outdated Show resolved Hide resolved
@lukaspie lukaspie changed the base branch from fairmat to mpes-refactor January 9, 2024 08:56
@lukaspie
Copy link
Collaborator Author

lukaspie commented Jan 9, 2024

Update to current NXmpes, will need to modify once stable NXmpes is available.

Base automatically changed from mpes-refactor to fairmat January 15, 2024 16:20
@lukaspie lukaspie changed the title NXmpes_xps sub app-def NX_xps sub app-def Feb 9, 2024
@lukaspie lukaspie changed the title NX_xps sub app-def NXxps sub app-def Feb 9, 2024
@lukaspie
Copy link
Collaborator Author

Closed in favor of #170.

@lukaspie lukaspie closed this Feb 28, 2024
@lukaspie lukaspie deleted the mpes_xps branch April 10, 2024 06:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request mpes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants