Short description and references to the supported file-formats

Currently the following μSR and non-μSR file formats are supported (in alphabetic order):

ASCII file format for non-μSR

This for instance can be used to fit \(1/\lambda^2 ~ \mathrm{vs} ~ T\) to study gap properties of superconductors. Details about the gap-intergrals can be found in the memo GapIntegrals.pdf which can be found in the source code of musrfit under <musrfit-home-dir>/src/external/libGapIntegrals.

This primitive file format has the following structure:

Comment lines start with a ‘#’ or ‘%’ character. The file can start with some header info. The header is optional, as all its tags, but if present it has the following format:

HEADER
TITLE:  title
X-AXIS-TITLE: x-axis title
Y-AXIS-TITLE: y-axis title
SETUP:  setup
FIELD:  field
TEMP:   temperature
ENERGY: energy

Field has to be given in (G), temperature in (K) and energy in (keV).

The data are read column like and start with the data tag DATA, followed by the data columns, i.e.:

DATA
x, y [, error y]

where spaces, column, are a tab are possible separations. If no error in y is present, the weighting in the fit will be equal.

A full example might look like this:

# libGapIntegrals-test.dat
# This is a comment
% This as well
HEADER
TITLE: Test superconductor data
X-AXIS-TITLE: T (K)
Y-AXIS-TITLE: #lambda^{-2} (#mum^{-2})
SETUP: H #parallel c
FIELD: 100
TEMP: 0.0
ENERGY: 4200
# here the data will follow
DATA
# x, y, error y
0.0318411, 7.77455, 0.2
0.0629929, 7.9869, 0.15
0.113914, 7.64209, 0.15
0.202492, 7.37699, 0.15
0.302725, 7.70893, 0.12
0.447456, 7.77565, 0.12
0.611685, 7.45768, 0.12
0.813613, 7.19287, 0.12
1.00822, 7.57813, 0.12
1.24793, 7.31343, 0.12
1.50635, 7.16818, 0.12
1.74591, 6.99634, 0.12
1.99795, 6.90414, 0.12
2.25061, 6.41393, 0.12
2.4958, 6.66666, 0.12
2.75514, 5.93766, 0.12
3.00753, 5.61992, 0.12
3.26056, 4.89091, 0.12
3.49414, 4.52005, 0.08
3.75356, 3.73799, 0.08
3.99425, 2.84974, 0.08
4.30518, 1.35139, 0.08

DB file format for non-μSR

The DB file format is an archaic ascii file format from TRIUMF which is intended to be used to collect parameter summaries of various runs, which can be read directly by mupp.

The DB file is organized in a couple of tags defining various properties, followed by the parameter data with its errors. Tags and is content are always separated by an empty line. The first tag is the TITLE. Followed by the title in the next line

TITLE
This is the best data ever

The next tag is the ABSTRACT, followed a potentially multi-line abstract, e.g.

ABSTRACT
Here comes the detailed description ...

The next tag, LABELS, are used to define human readable names for the data parameters to be followed:

LABELS
T (K)
B (G)
...

The number of labels have to fit the number of parameters present!

The next tag is DATA, which is a list of the parameter names as found in you msr-file. Unlike the other tags, here the list of names follow directly after the DATA tag

DATA dataT dataB dataE dataTr ...

Next there will be a line with the tag \-e, followed by

The parameters are afterwards listed as

param-name = val, pos-err, neg-err,\

After all the parameters listed of a specific run, the run number with the run title ends a run data set. This might look like this (be aware of the comma!):

11231,,, AgPlate 250nm (T5034), T=200.00 K, E=12.99 keV, B=~50(G)/8.65(A), Tr/Sa=12.00/-1.80 kV, SR=-10.00

A full example might look like this:

TITLE
Ag Plate 2023 runs, Tr12kV, E=13keV, TF B=50G

Abstract
Summary of the

LABELS
T (K)
B (G)
Implantation Energy (keV)
Transport (kV)
RAL-RAR (kV)
RAT-RAB (kV)
Spin Rotation Angle (degree)
Asy
Lambda
Ph
Field
RelPh_L
N0_L
N_bkg_L
RelPh_T
N0_T
N_bkg_T
RelPh_R
alpha_LR
N_bkg_R
RelPh_B
alpha_TB
N_bkg_B
maxLH
NDF
maxLHred
RUN

Data dataT dataB dataE dataTr dataRALRAR dataRATRAB dataSpinRot Asy Lambda Ph Field RelPh_L N0_L N_bkg_L RelPh_T N0_T N_bkg_T RelPh_R alpha_LR N_bkg_R RelPh_B alpha_TB N_bkg_B maxLH NDF maxLHred RUN
\-e
dataT = 200.001, 0.0009, 0.0009,\
dataB = 49.49, 0, 0,\
dataE = 12.9952, 0, 0,\
dataTr = 11.9993, 0, 0,\
dataRALRAR = -0.008, 0, 0,\
dataRATRAB = -0.009, 0, 0,\
dataSpinRot = -10, 0, 0,\
Asy = 0.22466, 0.00084, -0.00084,\
Lambda = 0.0081, 0.0014, -0.0014,\
Ph = 12.14, 0.32, -0.32,\
Field = 50.837, 0.017, -0.017,\
RelPh_L = 0, 0, 0,\
N0_L = 430.67, 0.39, -0.39,\
N_bkg_L = 6.81, 0.048, -0.048,\
RelPh_T = -89.95, 0.4, -0.4,\
N0_T = 422.6, 0.37, -0.37,\
N_bkg_T = 7.125, 0.047, -0.048,\
RelPh_R = -178.55, 0.39, -0.39,\
alpha_LR = 0.9729, 0.0012, -0.0012,\
N_bkg_R = 7.375, 0.048, -0.048,\
RelPh_B = 90.38, 0.4, -0.4,\
alpha_TB = 0.9522, 0.0012, -0.0012,\
N_bkg_B = 6.546, 0.047, -0.047,\
maxLH = 20303.3, 0, 0,\
NDF = 20361, 0, 0,\
maxLHred = 0.997166, 0, 0,\
11231,,, AgPlate 250nm (T5034), T=200.00 K, E=12.99 keV, B=~50(G)/8.65(A), Tr/Sa=12.00/-1.80 kV, SR=-10.00
dataT = 153, 0.7, 0.7,\
dataB = 49.49, 0, 0,\
dataE = 12.9952, 0, 0,\
dataTr = 11.9993, 0, 0,\
dataRALRAR = -0.008, 0, 0,\
dataRATRAB = -0.009, 0, 0,\
dataSpinRot = -10, 0, 0,\
Asy = 0.22253, 0.00084, -0.00083,\
Lambda = 0.0055, 0.0014, -0.0014,\
Ph = 11.53, 0.32, -0.32,\
Field = 51.026, 0.017, -0.017,\
RelPh_L = 0, 0, 0,\
N0_L = 430.31, 0.39, -0.39,\
N_bkg_L = 6.762, 0.048, -0.048,\
RelPh_T = -89.3, 0.4, -0.4,\
N0_T = 422.31, 0.37, -0.37,\
N_bkg_T = 6.96, 0.047, -0.047,\
RelPh_R = -178.61, 0.4, -0.4,\
alpha_LR = 0.975, 0.0013, -0.0012,\
N_bkg_R = 7.361, 0.048, -0.048,\
RelPh_B = 90.24, 0.4, -0.4,\
alpha_TB = 0.9605, 0.0012, -0.0012,\
N_bkg_B = 6.623, 0.047, -0.047,\
maxLH = 20435.6, 0, 0,\
NDF = 20361, 0, 0,\
maxLHred = 1.00366, 0, 0,\
11235,,, AgPlate 250nm (T5034), T=151.72 K, E=13.00 keV, B=~50(G)/8.65(A), Tr/Sa=12.00/-1.80 kV, SR=-10.00
>> here many more run data would follow ...

DAT: CSV like file format for non-μSR

This is typically used when exporting the parameter data from msr2data to be used in mupp, gnuplot, origin, or whatever parameter plotter you might use. The first line defines the parameter tags separated by spaces or tabs. If errors are available there are labeled be the ending Err. This is followed by the parameter values and its errors if present. A fill example looks like this:

dataT        dataTErr        dataB        dataE        dataTr       dataRALRAR   dataRATRAB   dataSpinRot  Asy          AsyPosErr          AsyNegErr          Lambda       LambdaPosErr       LambdaNegErr       Ph           PhPosErr           PhNegErr           Field        FieldPosErr        FieldNegErr        RelPh_L      RelPh_LPosErr      RelPh_LNegErr      N0_L         N0_LPosErr         N0_LNegErr         N_bkg_L      N_bkg_LPosErr      N_bkg_LNegErr      RelPh_T      RelPh_TPosErr      RelPh_TNegErr      N0_T         N0_TPosErr         N0_TNegErr         N_bkg_T      N_bkg_TPosErr      N_bkg_TNegErr      RelPh_R      RelPh_RPosErr      RelPh_RNegErr      alpha_LR     alpha_LRPosErr     alpha_LRNegErr     N_bkg_R      N_bkg_RPosErr      N_bkg_RNegErr      RelPh_B      RelPh_BPosErr      RelPh_BNegErr      alpha_TB     alpha_TBPosErr     alpha_TBNegErr     N_bkg_B      N_bkg_BPosErr      N_bkg_BNegErr      maxLH        NDF          maxLHred     RUN
200          0.007           99.48        1.11754      10.001       -0.008       -0.008       -10          0.1587        0.0012        0.0012        0.0263        0.003         0.003         29.85         0.64          0.64          101.179       0.035         0.035         0             0             0             219.27        0.27          0.27          2.676         0.033         0.033         -89.79        0.81          0.81          210.42        0.26          0.26          2.723         0.032         0.032         -179.73       0.81          0.81          0.9808        0.0017        0.0017        2.993         0.033         0.033         90.05         0.82          0.82          0.9755        0.0017        0.0017        2.501         0.032         0.032         20444.8      20361        1.00412      11400
200          0.009           99.49        2.11668      10.001       -0.008       -0.008       -10          0.1732        0.0012        0.0012        0.0096        0.0025        0.0026        28.88         0.57          0.57          101.231       0.03          0.03          0             0             0             219.86        0.27          0.27          2.749         0.033         0.033         -88.87        0.71          0.71          211.47        0.26          0.26          2.791         0.032         0.032         -178.48       0.72          0.71          0.9678        0.0017        0.0017        2.969         0.033         0.033         90.94         0.73          0.73          0.9608        0.0017        0.0017        2.653         0.032         0.032         20182.5      20361        0.991233     11401

MDU file format (psi) for μSR

For details about the PSI-BIN/MDU file format from PSI see Class_MuSR_PSI

MUD file format (triumf) for μSR

For details about the MUD file format from triumf see MUon Data access .

MusrRoot file format (PSI) for μSR

For details see MusrRoot - an Extensible Open File Format for uSR.

NeXus file format (isis) for μSR

For details about the NeXus file format from ISIS (UK) see The application of the NeXus data format to ISIS muon data . For a detailed list of available meta information and data see NeXus Instrument Definitions for ISIS muon Data .

PSI-BIN file format (psi) for μSR

For details about the PSI-BIN/MDU file format from PSI see Class_MuSR_PSI.

ROOT file format (psi/lem before 2012) for μSR

For details about the API of ROOT files can be here: ROOT files. The structure of the ROOT files (LEM, before 2012) looks like this:

ROOT-file --|
            |-- histos ---|
            |             |-- DecayAnaModule
            |             |-- PileUpAnaModule
            |             |-- ScalerSumRate
            |             |-- SCAnaModule
            |
            |-- RunInfo --|
                          |-- RunSummary

histos, RunInfo, DecayAnaModule, PileUpAnaModule, ScalerSumRate, SCAnaModule are TFolder objects.

The DecayAnaModule object holds the positron spectra

DecayAnaModule --|
                 |-- hDecay00
                 |-- hDecay01
                 |-- hDecay02
                 |-- hDecay03
                 |-- hDecay20
                 |-- hDecay21
                 |-- hDecay22
                 |-- hDecay23

The hDecayXX files or TH1F objects containing the positron spectra of the LEM detectors.

The detectors (00, 01, 02, and 03) are the detectors (Left, Top, Right, Bottom). These are non-post-pileup (NPP) histograms.

The detectors (20, 21, 22, and 23) are the detectors (Left, Top, Right, Bottom). These are post-pileup-corrected (PPC) histograms.

The SCAnaModule contains various TF1H objects of slow control data of the run.

The RunSummary is essentially an ascii dump, with summary information of the run.

WKM file format for μSR

WKM is an obsolete ascii file format, originally introduced by people from the TU Braunschweig. It starts with a header which shows like this:

- WKM data file converted with any2many
NEMU_Run:            2466
nemu_Run:            ./2466.wkm
Date:                13:22:00 2012-06-03 / 14:04:38 2012-06-03
Title:               LSCO x=0.02 (224-227), T=12.00 (K), E=5.57 keV, WEW B=~49(G)/8.62(A), Tr=15.02 (kV), Sample=8.70 (kV), SpinRot -10
Field:               49.11
Setup:               Sample, WEW, LowTemp-2
Temp:                11.999
TOF(M3S1):           nocut
Groups:              8
Channels:            66601
Resolution:          0.0001953125

The header ends with an empty line.

The data are stored as following: there are always 10 bin-counts per line. Between detectors, there will be an empty line.