1130 lines
76 KiB
HTML
1130 lines
76 KiB
HTML
<!DOCTYPE html><html lang="en">
|
|
|
|
<!-- Mirrored from intranet.psi.ch/MUSR/MusrRoot?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 28 Apr 2016 07:39:28 GMT -->
|
|
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
|
|
<head>
|
|
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
|
|
<title> MUSR :: MusrRoot</title>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
|
|
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
|
|
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrRoot?t=1461829163" type="application/x-wiki" title="edit MusrRoot" />
|
|
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
|
|
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
|
|
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
|
|
<base /><!--[if IE]></base><![endif]--><link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
|
|
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
|
|
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
|
|
<style class='head TABLEPLUGIN_default' type="text/css" media="all">
|
|
body .foswikiTable {border-width:1px}
|
|
body .foswikiTable .tableSortIcon img {padding-left:.3em; vertical-align:text-bottom}
|
|
body .foswikiTable td {border-style:solid none; vertical-align:top}
|
|
body .foswikiTable th {border-style:none solid; vertical-align:top; background-color:#d6d3cf; color:#000000}
|
|
body .foswikiTable th a:link {color:#000000}
|
|
body .foswikiTable th a:visited {color:#000000}
|
|
body .foswikiTable th a:hover {color:#000000; background-color:#d6d3cf}
|
|
body .foswikiTable th.foswikiSortedCol {background-color:#c4c1ba}
|
|
body .foswikiTable tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
|
|
body .foswikiTable tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f7f7f6}
|
|
body .foswikiTable tr.foswikiTableRowdataBg1 td {background-color:#f7f7f6}
|
|
body .foswikiTable tr.foswikiTableRowdataBg1 td.foswikiSortedCol {background-color:#f0f0ee}
|
|
</style><!--TABLEPLUGIN_default-->
|
|
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
|
|
<style class='head TABLEPLUGIN_specific' type="text/css" media="all">
|
|
body .foswikiTable#tableMusrRoot7 td {vertical-align:middle; vertical-align:top}
|
|
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol0 {text-align:left}
|
|
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol1 {text-align:left}
|
|
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol2 {text-align:left}
|
|
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol3 {text-align:right}
|
|
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol4 {text-align:left}
|
|
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol5 {text-align:left}
|
|
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol6 {text-align:left}
|
|
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol7 {text-align:left}
|
|
body .foswikiTable#tableMusrRoot7 th {vertical-align:middle; background-color:#ffffff; color:#0066cc; text-align:left}
|
|
body .foswikiTable#tableMusrRoot7 th a:link {color:#0066cc}
|
|
body .foswikiTable#tableMusrRoot7 th a:visited {color:#0066cc}
|
|
body .foswikiTable#tableMusrRoot7 th a:hover {color:#0066cc; background-color:#ffffff}
|
|
body .foswikiTable#tableMusrRoot7 th.foswikiSortedCol {background-color:#eeeeee}
|
|
body .foswikiTable#tableMusrRoot7 tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
|
|
body .foswikiTable#tableMusrRoot7 tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f5f5f5}
|
|
</style><!--TABLEPLUGIN_specific-->
|
|
<link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
|
|
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
|
|
<style type="text/css" media="all">
|
|
@import url('../pub/System/PatternSkinTheme/layout.css');
|
|
@import url('../pub/System/PatternSkinTheme2009/style.css');
|
|
@import url('../pub/System/PatternSkinTheme2009/colors.css');
|
|
</style>
|
|
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
|
|
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
|
|
/* Styles that are set using variables */
|
|
.patternBookView .foswikiTopRow,
|
|
.patternWebIndicator,
|
|
.patternWebIndicator a {
|
|
background-color:#D0D0D0;
|
|
}
|
|
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
|
|
#patternTopBarContents { background-color:#ffffff;}
|
|
.patternBookView {
|
|
border-color:#D0D0D0;
|
|
}
|
|
.patternPreviewPage #patternMain {
|
|
/* uncomment to set the preview image */
|
|
/*background-image:url("/pub/System/PreviewBackground/preview2bg.gif");*/
|
|
}
|
|
</style>
|
|
<style type="text/css" media="all">
|
|
@import url("../pub/System/PsiSkin/psicolors.css");
|
|
@import url("../pub/System/PsiSkin/psistyle.css");
|
|
.foswikiTopic {overflow: hidden;}
|
|
</style>
|
|
|
|
|
|
|
|
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
|
|
<!--[if IE 7 ]><style type="text/css" media="screen">
|
|
.foswikiAttachments,
|
|
.foswikiForm,
|
|
.foswikiHelp,
|
|
.foswikiPreviewArea,
|
|
.patternPreviewPage .foswikiForm,
|
|
.patternSigLine,
|
|
.patternToolBar,
|
|
.patternTop,
|
|
.patternTopicAction,
|
|
#patternSideBarContents .patternLeftBarPersonal,
|
|
#patternSideBarContents h2,
|
|
#patternSideBarContents li,
|
|
#patternTopBarButtons ul {
|
|
height:1%;
|
|
}
|
|
#patternSideBarContents .patternLeftBarPersonal {
|
|
width:100%;
|
|
}
|
|
.foswikiFormStep {
|
|
height:100%;
|
|
}
|
|
#foswikiLogin {
|
|
margin-left: 25%;
|
|
margin-right: 25%;
|
|
}
|
|
#foswikiLogin .foswikiFormSteps {
|
|
width:auto;
|
|
}
|
|
#foswikiLogin input[type="text"],
|
|
#foswikiLogin input[type="password"] {
|
|
width: auto;
|
|
}
|
|
.patternShadow {
|
|
border:10px solid #fff;
|
|
margin-top:10px;
|
|
margin-bottom:10px;
|
|
border:2px solid #ccc;
|
|
}
|
|
</style><![endif]-->
|
|
<!--[if lte IE 9]>
|
|
|
|
<![endif]-->
|
|
<!--[if gt IE 9]><!-->
|
|
|
|
<!--<![endif]-->
|
|
<!--JQUERYPLUGIN-->
|
|
<!--JQUERYPLUGIN::MIGRATE-->
|
|
<!--JQUERYPLUGIN::FOSWIKI-->
|
|
<!--JQUERYPLUGIN::LIVEQUERY-->
|
|
<!--JavascriptFiles/foswikiString-->
|
|
<!--JavascriptFiles/foswikiPref-->
|
|
<!--JQUERYPLUGIN::TWISTY-->
|
|
<!--JavascriptFiles/foswikiForm-->
|
|
<!--PatternSkin/pattern-->
|
|
<!--JQUERYPLUGIN::METADATA-->
|
|
|
|
<!--JQUERYPLUGIN::CHILI-->
|
|
<!--JQUERYPLUGIN::COMMENT-->
|
|
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
|
|
</head>
|
|
<body class="foswikiNoJs patternViewPage patternPrintPage">
|
|
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
|
|
<div id="patternPageShadow">
|
|
<div id="patternPage">
|
|
<div id="patternOuter" class="clear">
|
|
<div id="patternFloatWrap">
|
|
<div id="patternMain">
|
|
<div id="patternMainContents">
|
|
<div class="patternContent"><div class="foswikiTopic">
|
|
<h1 id="A_61_61MusrRoot_61_61"> <code><b>MusrRoot</b></code> </h1>
|
|
<p></p>
|
|
<div class="foswikiToc" id="foswikiTOC"> <ul>
|
|
<li> <a href="MusrRoot.html#A_61_61MusrRoot_61_61"> MusrRoot </a>
|
|
</li> <li> <a href="MusrRoot.html#A_1_Introduction"> 1 Introduction </a>
|
|
</li> <li> <a href="MusrRoot.html#A_2_Some_Basics_Concerning_61ROOT_61_Files"> 2 Some Basics Concerning ROOT Files </a>
|
|
</li> <li> <a href="MusrRoot.html#A_3_61MusrRoot_61_an_Extensible_Open_File_Format_for_SR"> 3 MusrRoot an Extensible Open File Format for μSR </a> <ul>
|
|
<li> <a href="MusrRoot.html#A_3.1_Run_Information_Contained_in_61RunHeader_61"> 3.1 Run Information Contained in RunHeader </a> <ul>
|
|
<li> <a href="MusrRoot.html#A_3.1.1_61RunInfo_61_Overview"> 3.1.1 RunInfo Overview </a>
|
|
</li></ul>
|
|
</li></ul>
|
|
</li> <li> <a href="MusrRoot.html#A_4_61TMusrRunHeader_61_Concept"> 4 TMusrRunHeader Concept </a> <ul>
|
|
<li> <a href="MusrRoot.html#A_4.1_User_Interface_for_61MusrRoot_61_Run_Header"> 4.1 User Interface for MusrRoot Run Header </a> <ul>
|
|
<li> <a href="MusrRoot.html#A_4.1.1_Writing_a_61MusrRoot_61_Run_Header"> 4.1.1 Writing a MusrRoot Run Header </a>
|
|
</li> <li> <a href="MusrRoot.html#A_4.1.2_Reading_a_61MusrRoot_61_Run_Header"> 4.1.2 Reading a MusrRoot Run Header </a>
|
|
</li></ul>
|
|
</li> <li> <a href="MusrRoot.html#A_4.2_Validation_of_a_61MusrRoot_61_File"> 4.2 Validation of a MusrRoot File </a>
|
|
</li></ul>
|
|
</li> <li> <a href="MusrRoot.html#A_5_61RunInfo_61_Required"> 5 RunInfo Required </a>
|
|
</li> <li> <a href="MusrRoot.html#A_6_61DetectorInfo_61_Required"> 6 DetectorInfo Required </a>
|
|
</li> <li> <a href="MusrRoot.html#A_7_61SampleEnvironmentInfo_61_Required"> 7 SampleEnvironmentInfo Required </a>
|
|
</li> <li> <a href="MusrRoot.html#A_8_61MagneticFieldEnvironmentInfo_61_Required"> 8 MagneticFieldEnvironmentInfo Required </a>
|
|
</li> <li> <a href="MusrRoot.html#A_9_61BeamlineInfo_61_Required"> 9 BeamlineInfo Required </a>
|
|
</li> <li> <a href="MusrRoot.html#A_10_Exhaustive_61MusrRoot_61_Tree_Including_Everything_Required"> 10 Exhaustive MusrRoot Tree Including Everything Required </a>
|
|
</li> <li> <a href="MusrRoot.html#A_11_61TMusrRunPhysicalQuantity_61_45_Possible_Representations"> 11 TMusrRunPhysicalQuantity - Possible Representations </a>
|
|
</li></ul>
|
|
</div>
|
|
<p></p>
|
|
<h1 id="A_1_Introduction"> 1 Introduction </h1>
|
|
Until 2011 different μSR file formats were used within PSI. The bulk-μSR instruments were writing their data in the <code>PSI-BIN</code> file format, which is a fixed binary format with rather stringent limitations. The LE-μSR (LEM) instrument was using a <code>ROOT</code> (CERN) based file format which was tightly tailored to the special needs of the LEM instrument. This situation was unsatisfactorily and hence it was decided to move forward to a open file format called <code>MusrRoot</code> to be described in the following.
|
|
<p></p>
|
|
<h1 id="A_2_Some_Basics_Concerning_61ROOT_61_Files"> 2 Some Basics Concerning <code>ROOT</code> Files </h1>
|
|
The μSR data acquisition systems at PSI are utilizing <code>MIDAS</code> (see <a href="http://midas.psi.ch/">Midas Home Page</a> ). The <code>MIDAS</code> analyzer, which is responsible to build histograms, especially the μSR decay histograms, makes it very easy to build <code>ROOT</code> (see <a href="http://root.cern.ch/">ROOT/CERN home page</a> ) histogram objects (these are <code>TH1F</code> objects for μSR decay histograms). <code>ROOT</code> is a C++ object-oriented data mining frame work. These histograms can be collected and saved in <code>ROOT</code> files (<code>TFile</code>). In order to ease the understanding of the upcoming definitions, a few <code>ROOT</code> related things shall be summaries here. For details concerning the <code>ROOT</code> frame work documentation please check <a href="http://root.cern.ch/drupal/content/users-guide">ROOT/CERN Users Guide</a> and <a href="http://root.cern.ch/drupal/content/reference-guide">ROOT/CERN Reference Guide</a> .
|
|
<p></p>
|
|
<code>ROOT</code> files (<code>TFile</code>) are binary files which can hold any kind of objects. A <code>TFile</code> is organized similarly to a directory structure of an operating system. Within the <code>ROOT</code> framework, there is a <code>TFile</code> browser available which allows to inspect these files. This browser (<code>TBrowser</code>) will show all object saved in the <code>TFile</code> directly, if they derive from <code>TObject</code>.
|
|
<p></p>
|
|
The <code>MusrRoot</code> file format to be described below is only using a small subset of possible <code>ROOT</code> objects, namely:
|
|
<p></p> <ul>
|
|
<li> <code>TFolder</code>: this are the top level objects in the <code>MusrRoot</code> file.
|
|
</li> <li> <code>TH1F</code>: Hold the μ-decay-histograms.
|
|
</li> <li> <code>TObjArray</code>: Holding collection of header information.
|
|
</li> <li> <code>TObjString</code>: Holding the content of any header information.
|
|
</li></ul>
|
|
<p></p>
|
|
Since all these objects are deriving form <code>TObject</code>, they will be directly accessible via the <code>TBrowser</code> -object. For instance, the μ-decay-histograms can be directly plotted, are even fitted, out of the box.
|
|
<p></p>
|
|
<h1 id="A_3_61MusrRoot_61_an_Extensible_Open_File_Format_for_SR"> 3 <code>MusrRoot</code> an Extensible Open File Format for μSR </h1>
|
|
<p></p>
|
|
As mentioned before, <code>ROOT</code> files are open-file-format files meaning that they can contain more entries (and most probably will) than the ones specified in the following. The specified ones will be the mandatory ones for <em>all</em> instruments. Before defining all mandatory entries, the <code>MusrRoot</code> file structure shall be sketched.
|
|
<p></p>
|
|
The <code>MusrRoot</code> file structure looks like:
|
|
<pre>
|
|
histos ---|
|
|
|- DecayAnaModule ---|
|
|
| |- hDecay001
|
|
| |- hDecay002
|
|
| ...
|
|
|
|
|
|- SCAnaModule ---|
|
|
... |- hSampleTemperature
|
|
|- hSampleMagneticField
|
|
...
|
|
RunHeader ---|
|
|
|- RunInfo
|
|
|- DetectorInfo ---|
|
|
| |- Detector001
|
|
| |- Detector002
|
|
| ...
|
|
|
|
|
|- SampleEnvironmentInfo
|
|
|- MagneticFieldEnvironmentInfo
|
|
|- BeamlineInfo
|
|
...
|
|
</pre>
|
|
where <code>hDecay001</code>, etc. are <code>ROOT</code> histograms (to be more specific: <code>TH1F</code>), containing the μSR decay histograms. There can be as many as needed, especially there is no limitation about their length. The histogram object names will be <code>hDecayXXX</code>, where <code>XXX</code> (leading zero <code>int</code>, <em>i.e.</em> <code>%03d</code> in C/C++ notation, starting with `1') is the histogram number. The title and name of the histogram (see description of the <code>TH1F</code> <code>ROOT</code> class) contains the label of the histogram, like `top', `forward', etc. How many of these histograms are present is accessible through the <code>RunInfo</code> folder in which the necessary header information are found (details see next sections). The folder <code>SCAnaModule</code> contains histograms of some of the slow-control parameters, as for instance the sample temperature versus time, the applied field versus time, etc. Again the label of the histogram will give more specific information about its content.
|
|
<p></p>
|
|
<h2 id="A_3.1_Run_Information_Contained_in_61RunHeader_61"> 3.1 Run Information Contained in <code>RunHeader</code> </h2>
|
|
The <code>RunHeader</code> contains all needed meta-information to describe a μSR-run. The list of the <em>minimal number of required</em> "folders" of the <code>RunHeader</code> is given in the following structure:
|
|
<p></p>
|
|
<pre>
|
|
RunHeader (TFolder) ---|
|
|
|- RunInfo (TObjArray)
|
|
|- DetectorInfo (TObjArray)
|
|
|- SampleEnvironmentInfo (TObjArray)
|
|
|- MagneticFieldEnvironmentInfo (TObjArray)
|
|
|- BeamlineInfo (TObjArray)
|
|
</pre>
|
|
<p></p>
|
|
In brackets the object type is given. <code>RunInfo</code> contains most information relevant for the user and will be itemized Sec. <a class="foswikiCurrentTopicLink" href="#RunInfo">RunInfo Overview</a> and <a class="foswikiCurrentTopicLink" href="#RunInfoRequired">RunInfo Required</a>. <code>DetectorInfo</code> contains detector specific information, like detector name, time zero bin, etc. (details in Sec. <a class="foswikiCurrentTopicLink" href="#DetectorInfoRequired">DetectorInfo Required</a>). <code>SampleEnvironmentInfo</code> (details in Sec. <a class="foswikiCurrentTopicLink" href="#SampleEnvironmentInfoRequired">SampleEnvironmentInfo Required</a>), and <code>MagneticFieldEnvironmentInfo</code> (details in Sec. <a class="foswikiCurrentTopicLink" href="#MagneticFieldEnvironmentInfoRequired">MagneticFieldEnvironmentInfo Required</a>) store additional, more detailed information concerning the sample environment. <code>BeamlineInfo</code> stores beamline relevant information (details in Sec. <a class="foswikiCurrentTopicLink" href="#BeamlineInfoRequired">BeamlineInfo Required</a>).
|
|
<p></p>
|
|
Before elaborating more on the required items within this structure, a few words on the <code>ROOT</code> types used here: <code>RunHeader</code> is a <code>TFolder</code> object. All the "sub-directory" entries are of type <code>TObjArray</code> and collect items of type <code>TObjString</code> or other <code>TObjArray</code> (<em>i.e.</em> sub-directories and sub-sub-directories, etc.).
|
|
<p></p>
|
|
<span id="RunInfo"></span>
|
|
<h3 id="A_3.1.1_61RunInfo_61_Overview"> 3.1.1 <code>RunInfo</code> Overview </h3>
|
|
<p></p>
|
|
<table border="1" class="foswikiTable" rules="none">
|
|
<thead>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<th class="foswikiTableCol0 foswikiFirstCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column">Name</a> </th>
|
|
<th class="foswikiTableCol1" style="text-align:center"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column">Internal Type</a> </th>
|
|
<th class="foswikiTableCol2 foswikiLastCol" style="text-align:center"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column">Comment</a> </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Version </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> SVN version of <code>TMusrRunHeader</code> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Generic Validator URL </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol" style="text-align:center"> URL of the generic <code>MusrRoot</code> validation xsd-file. </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Specific Validator URL </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol" style="text-align:center"> URL of the instrument specific validation xsd-file. </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Generator </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> Program which wrote the <code>MusrRoot</code> file, </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> </td>
|
|
<td class="foswikiTableCol1"> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> <code>nemu_analyzer</code> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> File Name </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> File name of the <code>MusrRoot</code> file, </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> </td>
|
|
<td class="foswikiTableCol1"> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> <code>deltat_tdc_gps_4295.root</code> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Run Title </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Run Number </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>Int_t</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Run Start Time </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> ISO 8601 date time </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Run Stop Time </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> ISO 8601 date time </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Run Duration </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> run duration in sec </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Laboratory </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> PSI </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Instrument </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> GPS </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Muon Beam Momentum </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 28.1 MeV/c </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Muon Species </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> positive, or negative muon </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Muon Source </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> Target E - Low Energy Muons or </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> </td>
|
|
<td class="foswikiTableCol1"> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> "Target M" ... </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Setup </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Comment </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Sample Name </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Sample Temperature </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 3.21 +- 0.05 K; SP: 3.2; CF1 </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Sample Magnetic Field </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 350.002 +- 0.005 G; SP: 350; WXY </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> No of Histos </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>Int_t</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Time Resolution </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 0.1953125 ns </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> RedGreen Offsets </td>
|
|
<td class="foswikiTableCol1 foswikiLast" style="text-align:center"> <code>TIntVector</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol foswikiLast"> <em>e.g.</em> 0; 20 </td>
|
|
</tr>
|
|
</tbody></table>
|
|
<p></p>
|
|
These entries should be clear except for the <code>RedGreen Offsets</code> and the column "Internal Type" which shortly will be discussed before specifying the content of the other required folders.
|
|
<p></p> <ol>
|
|
<li style="list-style-type:lower-roman"> <code>RedGreen Offsets</code>: in case experiments are performed with external stimuli, there will be a collection of related histograms. For instance for electrical field experiments, there will be histograms for field on/off, doubling the number of needed histograms. In order to distinguish them easier in the data file, the <code>RedGreen Offsets</code> were introduced. One selection of histograms (assuming for the moment 8 detectors) will be numbered from 1 to 8 (lets say the field off ones). The other set of histograms (field on in this example) will then start with 21 through 28 (see table above). The same will be true for the detector information (see Sec. <a class="foswikiCurrentTopicLink" href="#DetectorInfoRequired"><code>DetectorInfo</code> Required</a>). The entry <code>No of Histos</code> will only give 8 for the given example, meaning that <span class='foswikiRedFG'>red</span>/<span class='foswikiGreenFG'>green</span> multiplication is defined rather via <code>RedGreen Offsets</code> than the number of histograms.
|
|
</li> <li style="list-style-type:lower-roman"> Internal Types: in order to ease the handling of the <code>MusrRoot</code> run header, a class <code>TMusrRunHeader</code> is available which deals with it. The "Internal Type" specified, corresponds to the internal representation in within this class. In the <code>MusrRoot</code> file these entries are all saved as browsable <code>ROOT</code> strings (<code>TObjString</code>). The only special type is <code>TMusrRunPhysicalQuantity</code> which is introduced to deal with physical quantities. They always can be represented in the following way:
|
|
</li></ol>
|
|
<pre>
|
|
<property name> <value> +- <estimated error> <unit>; SP: <demand>; <description>
|
|
</pre>
|
|
Not all of these values are needed to be given and depending on which are given, the representation in the <code>MusrRoot</code> file will be different (handled by <code>TMusrRunHeader</code>). Examples are given in the comment column of the table above. For details see <a class="foswikiCurrentTopicLink" href="#TMusrRunPhysicalQuantity"><code>TMusrRunPhysicalQuantity</code> - Possible Representations</a>.
|
|
<p></p>
|
|
A mock-up <code>TBrowser</code> print-out would look like the one shown in the following figure. You might notice, that at the end of each entry you find a " <code>-@X</code> ", where <code>X</code> is a number. This is an encoding of the internal type of the entry and is the price to be payed not using derived types. The next section will explain this in much more detail.
|
|
<p></p>
|
|
<img class='imagePlain imagePlain_none ' src='../pub/MUSR/MusrRoot/RunInfo.png' alt='TMusrRunHeader mock up. The red shaded entries are of type TMusrRunPhysicalQuantity' title='RunInfo.png' width='639' height='774' style='' />
|
|
<p></p>
|
|
<code>TMusrRunHeader</code> mock up. The red shaded entries are of type <code>TMusrRunPhysicalQuantity</code>
|
|
<p></p>
|
|
<span id="TMusrRunHeaderConcept"></span>
|
|
<h1 id="A_4_61TMusrRunHeader_61_Concept"> 4 <code>TMusrRunHeader</code> Concept </h1>
|
|
The different μSR instruments need different information to be written into the data file (next to the most important ones: the histograms). The above defined properties are the <em>minimal number of required</em> ones. There are different possible approaches to deal with it on the implementation level.
|
|
<p></p> <ul>
|
|
<li> A base class dealing with <em>minimal required</em> standard is defined. Afterwards for each instrument a class is derived which is extending the base class to the needs of the instrument.
|
|
</li> <li> The base class is defined in a more abstract way, and some external, text-based description is given which defines the details of the instrument.
|
|
</li></ul>
|
|
<p></p>
|
|
Even though the first approach is very clean, it would mean a lot of maintenance work. The 2nd approach is slightly more demanding for the handling class (<code>TMusrRunHeader</code> and helper classes), but having the advantage of easy maintainability and expandability. The idea is that all header information can be classified into 7 groups (see previous and following section(s)):
|
|
<p></p> <ol>
|
|
<li> Strings, represented by <code>TString</code>
|
|
</li> <li> Integers, represented by <code>Int_t</code>
|
|
</li> <li> Floating point numbers, represented by <code>Double_t</code>
|
|
</li> <li> Physical quantities, represented by <a class="foswikiCurrentTopicLink" href="#TMusrRunPhysicalQuantity"><code>TMusrRunPhysicalQuantity</code> - Possible Representations</a>
|
|
</li> <li> Collection of strings, represented by <code>TStringVector</code>
|
|
</li> <li> Collection of integers, represented by <code>TIntVector</code>
|
|
</li> <li> Collection of floating point numbers, represented by <code>TDoubleVector</code>
|
|
</li></ol>
|
|
<p></p>
|
|
These properties can be collected by themselves in form of vectors. This way any needed information can be written into the <code>ROOT</code> file. The class <code>TMusrRunHeader</code> is implementing this run header concept. In following section code snippets will be discussed, showing how this is used on level of the <code>MIDAS</code> analyzer, <code>musrfit</code> reader routine, and <code>any2many</code> conversion routines. The section <a class="foswikiCurrentTopicLink" href="#ValidateMusrRoot">Validation</a> will discuss how to validate <code>MusrRoot</code> files.
|
|
<p></p>
|
|
<h2 id="A_4.1_User_Interface_for_61MusrRoot_61_Run_Header"> 4.1 User Interface for <code>MusrRoot</code> Run Header </h2>
|
|
There are two things needed to deal with the <code>MusrRoot</code> run header, namely writing it and reading it. I will start with the writing as will be done in the <code>MIDAS</code> analyzer.
|
|
<p></p>
|
|
<h3 id="A_4.1.1_Writing_a_61MusrRoot_61_Run_Header"> 4.1.1 Writing a <code>MusrRoot</code> Run Header </h3>
|
|
An example program <code>write_musrRoot_runHeader</code> which is writing a full run header is part of the <code>musrfit</code> package. Here I will concentrate just on the most essential parts. First one needs an instance of <code>TMusrRunHeader</code>
|
|
<p></p>
|
|
<pre class="cplusplus">
|
|
TMusrRunHeader *header = new TMusrRunHeader();
|
|
TMusrRunPhysicalQuantity prop;
|
|
</pre>
|
|
<p></p>
|
|
<code>header</code> is the instance of <code>TMusrRunHeader</code>. <code>prop</code> is an instance of <code>TMusrRunPhysicalQuantity</code> which will be needed further down in the description. In the next step some run header entries will be added
|
|
<p></p>
|
|
<pre class="cplusplus">
|
|
header->Set("RunInfo/File Name", "deltat_tdc_gps_2871.root");
|
|
header->Set("RunInfo/Run Title", "here comes the run title");
|
|
header->Set("RunInfo/Run Number", 2871);
|
|
</pre>
|
|
<p></p>
|
|
Adding information is done via the multiple overloaded <code>Set(<pathName>,<value>)</code> method. Here <code><pathName></code> is a string representing the "path" like representation in the <code>MusrRoot</code> file structure, followed by the "value" to be set, <em>e.g.</em> "=File Name=". <code><value></code> can be any of the types listed at the beginning of Sec. <a class="foswikiCurrentTopicLink" href="#TMusrRunHeaderConcept"><code>TMusrRunHeader</code> Concept</a>. Here a few examples how to set <code>TMusrRunPhysicalQuantity</code>.
|
|
<p></p>
|
|
<pre class="cplusplus">
|
|
prop.Set("Sample Temperature", 3.2, 3.21, 0.05, "K", "CF1");
|
|
header->Set("RunInfo/Sample Temperature", prop);
|
|
|
|
prop.Set("Time Resolution", 0.1953125, "ns", "TDC 9999");
|
|
header->Set("RunInfo/Time Resolution", prop);
|
|
|
|
prop.Set("CF3", MRH_UNDEFINED, 3.27, 0.09, "K", "strange temperature");
|
|
header->Set("SampleEnvironmentInfo/CF3", prop);
|
|
</pre>
|
|
<p></p>
|
|
Here <code>TMusrRunPhysicalQuantity</code> objects are fed via the use of the overloaded set-method. For details see <a class="foswikiCurrentTopicLink" href="#TMusrRunPhysicalQuantity"><code>TMusrRunPhysicalQuantity</code> - Possible Representations</a>.
|
|
<p></p>
|
|
To set some property within "sub-sub-directories" it would like this:
|
|
<p></p>
|
|
<pre class="cplusplus">
|
|
header->Set("DetectorInfo/Detector001/Time Zero Bin", 3419.0);
|
|
</pre>
|
|
<p></p>
|
|
To write the whole run header into a file would look something like this:
|
|
<p></p>
|
|
<pre class="cplusplus">
|
|
TFile *f = new TFile(fileName, "RECREATE", "write_musrRoot_runHeader");
|
|
if (f->IsZombie()) {
|
|
delete f;
|
|
return -1;
|
|
}
|
|
|
|
// create the needed TFolder object
|
|
TFolder *runHeader = new TFolder("RunHeader", "MusrRoot Run Header Info");
|
|
|
|
// create the "directory" structure
|
|
if (header->FillFolder(runHeader)) {
|
|
runHeader->Write(); // write run header to file
|
|
}
|
|
|
|
f->Close();
|
|
</pre>
|
|
<p></p>
|
|
<h3 id="A_4.1.2_Reading_a_61MusrRoot_61_Run_Header"> 4.1.2 Reading a <code>MusrRoot</code> Run Header </h3>
|
|
The following code snippet shows how the extract the full run header from the <code>MusrRoot</code> file.
|
|
<p></p>
|
|
<pre class="cplusplus">
|
|
TFile *f = new TFile(fileName, "READ", "read_musrRoot_runHeader");
|
|
if (f->IsZombie()) {
|
|
delete f;
|
|
return -1;
|
|
}
|
|
|
|
TFolder *runHeader = 0;
|
|
f->GetObject("RunHeader", runHeader);
|
|
if (runHeader == 0) {
|
|
cerr << endl << ">> **ERROR** Couldn't get top folder RunHeader";
|
|
closeFile(f);
|
|
return -1;
|
|
}
|
|
|
|
TMusrRunHeader *header = new TMusrRunHeader(fileName);
|
|
|
|
if (!header->ExtractAll(runHeader)) {
|
|
cerr << endl << ">> **ERROR** couldn't extract all RunHeader information";
|
|
closeFile(f);
|
|
return -1;
|
|
}
|
|
|
|
f->Close();
|
|
delete f;
|
|
</pre>
|
|
<p></p>
|
|
The routine <code>ExtractAll(TFolder *runHeader)</code> decodes all the <code>TObjString</code> objects and fills internal data structures. This means when reading a <code>MusrRoot</code> -file the above handling is always needed. After the <code>ExtractAll</code> call, parameters can be extracted via the getter routines available. For instance to read the <code>Run Number</code>, the code would look like
|
|
<p></p>
|
|
<pre class="cplusplus">
|
|
Bool_t ok;
|
|
Int_t ival;
|
|
header->Get("RunInfo/Run Number", ival, ok);
|
|
if (ok)
|
|
cout << endl << "Run Number: " << ival;
|
|
else
|
|
cout << endl << "**ERROR** Couldn't obtain the 'Run Number'.";
|
|
</pre>
|
|
<p></p>
|
|
Reading a <code>TMusrRunPhysicalQuantity</code> object, <em>e.g.</em> the <code>Sample Temperature</code> looks like this
|
|
<p></p>
|
|
<pre class="cplusplus">
|
|
TMusrRunPhysicalQuantity prop;
|
|
|
|
header->Get("RunInfo/Sample Temperature", prop, ok);
|
|
if (ok) {
|
|
cout << endl << "Sample Temperature: " << prop.GetValue() << " +- ";
|
|
cout << prop.GetError() << " " << prop.GetUnit().Data();
|
|
cout << "; SP: " << prop.GetDemand() << "; " << prop.GetDescription().Data();
|
|
} else {
|
|
cout << endl << "**ERROR** Couldn't obtain the 'Sample Temperature'.";
|
|
}
|
|
</pre>
|
|
<p></p>
|
|
<span id="ValidateMusrRoot"></span>
|
|
<h2 id="A_4.2_Validation_of_a_61MusrRoot_61_File"> 4.2 Validation of a <code>MusrRoot</code> File </h2>
|
|
Since <code>MusrRoot</code> is an open and extensible file format a mechanism is needed to validate that a given file is indeed holding the <em>minimum of required</em> entries. To check this the following scheme is implemented in the program <code>musrRootValidation</code>:
|
|
<p></p>
|
|
<img class='imagePlain imagePlain_none ' src='../pub/MUSR/MusrRoot/igp_f8f224022828dc9d95784de27d20b709_MusrRootValidationScheme.png' alt='MusrRootValidationScheme.png' title='MusrRoot validation scheme' width='495' height='700' style='' />
|
|
<p></p>
|
|
<code>MusrRoot</code> validation scheme
|
|
<p></p>
|
|
In the following this validation scheme will be discussed as it is implemented in <code>musrRootValidation</code>:
|
|
<p></p> <ol>
|
|
<li> It is checked if the given file name is a <code>TFile</code>
|
|
</li> <li> The file structure is recursively parsed and mapped into an temporary XML file. XML is used since there are ample of parser and validation frameworks at hand. For details check any decent book about XML. Here the <code>libxml2</code> is used, because also <code>ROOT</code> is requiring it.
|
|
</li> <li> In a next step the XML file (holding the structure of the supposed <code>MusrRoot</code> file is validated against a XML schema. The <em>minimum of required</em> entries is described by <code>MusrRoot.xsd</code> which is part of <code>musrfit</code> but also available from the PSI/LMU web-page.
|
|
</li> <li> If the schema validation is successful additional semantic checks (like is the number of decay histograms the same as the number of detector entries, etc.) will be preformed.
|
|
</li></ol>
|
|
<p></p>
|
|
This validation scheme is useful for people which define instrument specific extensions of the base <code>MusrRoot</code>, as for instance the LEM instrument at PSI. It is also useful for people writing file converters in order to cross check if the generated file is valid.
|
|
<p></p>
|
|
<span id="RunInfoRequired"></span>
|
|
<h1 id="A_5_61RunInfo_61_Required"> 5 <code>RunInfo</code> Required </h1>
|
|
<p></p>
|
|
<table border="1" class="foswikiTable" rules="none">
|
|
<thead>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<th class="foswikiTableCol0 foswikiFirstCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column">Name</a> </th>
|
|
<th class="foswikiTableCol1" style="text-align:center"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column">Internal Type</a> </th>
|
|
<th class="foswikiTableCol2 foswikiLastCol" style="text-align:center"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column">Comment</a> </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Version </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> SVN version of <code>TMusrRunHeader</code> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Generic Validator URL </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> URL of the generic <code>MusrRoot</code> validation xsd-file. </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> </td>
|
|
<td class="foswikiTableCol1"> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> <a href="http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRoot.xsd">http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRoot.xsd</a> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Specific Validator URL </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> URL of the instrument specific validation xsd-file. </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> </td>
|
|
<td class="foswikiTableCol1"> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> for LEM: <a href="http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRootLEM.xsd">http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRootLEM.xsd</a> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Generator </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> Program which wrote the <code>MusrRoot</code> file, </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> </td>
|
|
<td class="foswikiTableCol1"> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> <code>nemu_analyzer</code> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> File Name </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> File name of the <code>MusrRoot</code> file, </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> </td>
|
|
<td class="foswikiTableCol1"> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> <code>deltat_tdc_gps_4295.root</code> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Run Title </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Run Number </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>Int_t</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Run Start Time </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> ISO 8601 date time </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Run Stop Time </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> ISO 8601 date time </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Run Duration </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> run duration in sec </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Laboratory </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> PSI </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Instrument </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> GPS </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Muon Beam Momentum </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 28.1 MeV/c </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Muon Species </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> positive, or negative muon </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Muon Source </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> Target E - Low Energy Muons or </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> </td>
|
|
<td class="foswikiTableCol1"> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> "Target M" ... </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Setup </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Comment </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Sample Name </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Sample Temperature </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 3.21 +- 0.05 K; SP: 3.2; CF1 </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Sample Magnetic Field </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 350.002 +- 0.005 G; SP: 350; WXY </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> No of Histos </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>Int_t</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Time Resolution </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 0.1953125 ns </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> RedGreen Offsets </td>
|
|
<td class="foswikiTableCol1 foswikiLast" style="text-align:center"> <code>TIntVector</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol foswikiLast"> <em>e.g.</em> 0; 20 </td>
|
|
</tr>
|
|
</tbody></table>
|
|
<p></p>
|
|
<span id="DetectorInfoRequired"></span>
|
|
<h1 id="A_6_61DetectorInfo_61_Required"> 6 <code>DetectorInfo</code> Required </h1>
|
|
The <code>DetectorInfo</code> is organized in a sub-tree like
|
|
<p></p>
|
|
<pre>
|
|
DetectorInfo ---|
|
|
|- Detector001
|
|
|- Detector002
|
|
...
|
|
</pre>
|
|
<p></p>
|
|
For each histogram in the <code>histos/DecayAnaModule</code> corresponds detector entry here.
|
|
<p></p>
|
|
The numbering of the detectors has to correspond the its histogram, <em>e.g.</em> <code>hDecay023</code> ⇔ <code>Detector023</code>, <em>i.e.</em> potentially discontinuous to show <span class='foswikiRedFG'>red</span> / <span class='foswikiGreenFG'>green</span> breaks.
|
|
<p></p>
|
|
<code>Detector<XXX></code> has the elements
|
|
<p></p>
|
|
<table border="1" class="foswikiTable" rules="none">
|
|
<thead>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<th class="foswikiTableCol0 foswikiFirstCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=3;up=0#sorted_table" rel="nofollow" title="Sort by this column">Name</a> </th>
|
|
<th class="foswikiTableCol1" style="text-align:center"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=3;up=0#sorted_table" rel="nofollow" title="Sort by this column">Internal Type</a> </th>
|
|
<th class="foswikiTableCol2 foswikiLastCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=3;up=0#sorted_table" rel="nofollow" title="Sort by this column">Comment</a> </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Name </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> detector name, <em>e.g.</em> Left-NPP </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Histo Number </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>Int_t</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> histogram number. This number corresponds to the histogram number in the <code>histos/DecayAnaModule</code> sub-tree. </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Histo Length </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>Int_t</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> length of the histogram </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Time Zero Bin </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>Double_t</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> The type is <code>Double_t</code> since for the high-field spectrometer at PSI an <code>Int_t</code> representation would be not good enough. </td>
|
|
</tr>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> First Good Bin </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>Int_t</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> Last Good Bin </td>
|
|
<td class="foswikiTableCol1 foswikiLast" style="text-align:center"> <code>Int_t</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol foswikiLast"> </td>
|
|
</tr>
|
|
</tbody></table>
|
|
<p></p>
|
|
<span id="SampleEnvironmentInfoRequired"></span>
|
|
<h1 id="A_7_61SampleEnvironmentInfo_61_Required"> 7 <code>SampleEnvironmentInfo</code> Required </h1>
|
|
Here only a single entry is required, namely
|
|
<p></p>
|
|
<table border="1" class="foswikiTable" rules="none">
|
|
<thead>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<th class="foswikiTableCol0 foswikiFirstCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=4;up=0#sorted_table" rel="nofollow" title="Sort by this column">Name</a> </th>
|
|
<th class="foswikiTableCol1" style="text-align:center"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=4;up=0#sorted_table" rel="nofollow" title="Sort by this column">Internal Type</a> </th>
|
|
<th class="foswikiTableCol2 foswikiLastCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=4;up=0#sorted_table" rel="nofollow" title="Sort by this column">Comment</a> </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> Cryo </td>
|
|
<td class="foswikiTableCol1 foswikiLast" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol foswikiLast"> name of the used cryostat, <em>e.g.</em> Konti-2 </td>
|
|
</tr>
|
|
</tbody></table>
|
|
<p></p>
|
|
<span id="MagneticFieldEnvironmentInfoRequired"></span>
|
|
<h1 id="A_8_61MagneticFieldEnvironmentInfo_61_Required"> 8 <code>MagneticFieldEnvironmentInfo</code> Required </h1>
|
|
<p></p>
|
|
Here only a single entry is required, namely
|
|
<p></p>
|
|
<table border="1" class="foswikiTable" rules="none">
|
|
<thead>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<th class="foswikiTableCol0 foswikiFirstCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=5;up=0#sorted_table" rel="nofollow" title="Sort by this column">Name</a> </th>
|
|
<th class="foswikiTableCol1" style="text-align:center"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=5;up=0#sorted_table" rel="nofollow" title="Sort by this column">Internal Type</a> </th>
|
|
<th class="foswikiTableCol2 foswikiLastCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=5;up=0#sorted_table" rel="nofollow" title="Sort by this column">Comment</a> </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> Magnet Name </td>
|
|
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol"> name of the used magnet, <em>e.g.</em> WEW. </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
|
|
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> </td>
|
|
<td class="foswikiTableCol1 foswikiLast"> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol foswikiLast" style="text-align:right"> In case of ZF measurements, there might be an entry like <code>ZF</code>. </td>
|
|
</tr>
|
|
</tbody></table>
|
|
<p></p>
|
|
<span id="BeamlineInfoRequired"></span>
|
|
<h1 id="A_9_61BeamlineInfo_61_Required"> 9 <code>BeamlineInfo</code> Required </h1>
|
|
<p></p>
|
|
Here only a single entry is required, namely
|
|
<p></p>
|
|
<table border="1" class="foswikiTable" rules="none">
|
|
<thead>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<th class="foswikiTableCol0 foswikiFirstCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=6;up=0#sorted_table" rel="nofollow" title="Sort by this column">Name</a> </th>
|
|
<th class="foswikiTableCol1" style="text-align:center"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=6;up=0#sorted_table" rel="nofollow" title="Sort by this column">Internal Type</a> </th>
|
|
<th class="foswikiTableCol2 foswikiLastCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=6;up=0#sorted_table" rel="nofollow" title="Sort by this column">Comment</a> </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> Name </td>
|
|
<td class="foswikiTableCol1 foswikiLast" style="text-align:center"> <code>TString</code> </td>
|
|
<td class="foswikiTableCol2 foswikiLastCol foswikiLast"> name of the beamline, <em>e.g.</em> <code>piM3.2</code>. </td>
|
|
</tr>
|
|
</tbody></table>
|
|
<p></p>
|
|
<h1 id="A_10_Exhaustive_61MusrRoot_61_Tree_Including_Everything_Required"> 10 Exhaustive <code>MusrRoot</code> Tree Including Everything <em>Required</em> </h1>
|
|
Here it is assumed that there are <em>hypothetical</em> <span class='foswikiRedFG'>red</span> / <span class='foswikiGreenFG'>green</span> data with electric field on/off and light on/off, and hence 4 data sets per detector, and 8 detectors of the instrument: <code>left/forward, top/forward, right/forward, bottom/forward, left/backward, top/backward, right/backward, bottom/backward</code>. To show the whole tree structure, it will be splitted in the representation afterwards, but keep in mind: this will be all part of a single <code>MusrRoot</code> file. I will add comments in the tree structure by the symbol <code>#</code>. Lets start with the μSR data histograms:
|
|
<p></p>
|
|
<pre>
|
|
histos -|
|
|
|- DecayAnaModule -|
|
|
|- hDecay001 # left/forward, electric field off, light off
|
|
|- hDecay002 # top/forward, electric field off, light off
|
|
|- hDecay003 # right/forward, electric field off, light off
|
|
|- hDecay004 # bottom/forward, electric field off, light off
|
|
...
|
|
|- hDecay007 # right/backward, electric field off, light off
|
|
|- hDecay008 # bottom/backward, electric field off, light off
|
|
|- hDecay011 # left/forward, electric field on, light off
|
|
|- hDecay012 # top/forward, electric field on, light off
|
|
|- hDecay013 # right/forward, electric field on, light off
|
|
|- hDecay014 # bottom/forward, electric field on, light off
|
|
...
|
|
|- hDecay017 # right/backward, electric field on, light off
|
|
|- hDecay018 # bottom/backward, electric field on, light off
|
|
|- hDecay021 # left/forward, electric field off, light on
|
|
|- hDecay022 # top/forward, electric field off, light on
|
|
|- hDecay023 # right/forward, electric field off, light on
|
|
|- hDecay024 # bottom/forward, electric field off, light on
|
|
...
|
|
|- hDecay027 # right/backward, electric field off, light on
|
|
|- hDecay028 # bottom/backward, electric field off, light on
|
|
|- hDecay031 # left/forward, electric field on, light on
|
|
|- hDecay032 # top/forward, electric field on, light on
|
|
|- hDecay033 # right/forward, electric field on, light on
|
|
|- hDecay034 # bottom/forward, electric field on, light on
|
|
...
|
|
|- hDecay037 # right/backward, electric field on, light on
|
|
|- hDecay038 # bottom/backward, electric field on, light on
|
|
...
|
|
</pre>
|
|
<p></p>
|
|
Comments: as can be seen the histograms are continuous numbered until there is a <span class='foswikiRedFG'>red</span> / <span class='foswikiGreenFG'>green</span> mode switch where the histogram number "jumps" (<em>e.g.</em> from <code>008</code> to <code>011</code>). In order to fill in the different <span class='foswikiRedFG'>red</span> / <span class='foswikiGreenFG'>green</span> histograms an offset is added (here 10, 20, and 30).
|
|
<p></p>
|
|
Next there will be the slowcontrol histograms:
|
|
<p></p>
|
|
<pre>
|
|
histos -|
|
|
|- SCAnaModule -|
|
|
|- hSampleTemperature
|
|
|- hMagneticField
|
|
|- hModeratorTemperature
|
|
...
|
|
</pre>
|
|
<p></p>
|
|
Comments: Theses histograms show typical time histograms of temperature, magnetic field, etc. <em>during</em> the run. The number of the histograms and their content will be quite different for each instrument.
|
|
<p></p>
|
|
Next the whole <code>RunHeader</code>. Here the information will be grouped in different folders collecting related information, like general run info, detector info, sample and magnetic field environment info, beamline info, etc.
|
|
<p></p>
|
|
<pre>
|
|
RunInfo:
|
|
000 - Version: $Id: TMusrRunHeader.cpp 5092 2012-03-13 07:47:00Z nemu $ -@0
|
|
001 - Generic Validator URL: http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRoot.xsd -@0
|
|
002 - Specific Validator URL: http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRootLEM.xsd -@0
|
|
003 - Generator: nemu_analyzer -@0
|
|
004 - File Name: lem12_his_0234.root -@0
|
|
005 - Run Title: here comes the run title -@0
|
|
006 - Run Number: 234 -@1
|
|
007 - Run Start Time: 2012-04-19 14:25:22 -@0
|
|
008 - Run Stop Time: 2012-04-19 19:13:47 -@0
|
|
009 - Run Duration: 17305 sec -@3
|
|
010 - Laboratory: PSI -@0
|
|
011 - Instrument: LEM -@0
|
|
012 - Muon Beam Momentum: 28.1 MeV/c -@3
|
|
013 - Muon Species: positive muon -@0
|
|
014 - Muon Source: target E -@0
|
|
015 - Setup: a very special setup -@0
|
|
016 - Comment: nothing more to be said -@0
|
|
017 - Sample Name: the best ever -@0
|
|
018 - Sample Temperature: 3.21 +- 0.05 K; SP: 3.2 -@3
|
|
019 - Sample Magnetic Field: 350.002 +- 0.005 G; SP: 350 -@3
|
|
020 - No of Histos: 8 -@1
|
|
021 - Time Resolution: 0.1953125 ns; TDC 9999 -@3
|
|
022 - RedGreen Offsets: 0; 10; 20; 30
|
|
DetectorInfo:
|
|
Detector001:
|
|
023 - Name: Left/Forward - electric field off, light off -@0
|
|
024 - Histo Number: 1 -@1
|
|
025 - Histo Length: 66661 -@1
|
|
026 - Time Zero Bin: 3419.000000 -@2
|
|
027 - First Good Bin: 3419 -@1
|
|
028 - Last Good Bin: 66661 -@1
|
|
Detector002:
|
|
029 - Name: Top/Forward - electric field off, light off -@0
|
|
030 - Histo Number: 2 -@1
|
|
031 - Histo Length: 66661 -@1
|
|
032 - Time Zero Bin: 3419.000000 -@2
|
|
033 - First Good Bin: 3419 -@1
|
|
034 - Last Good Bin: 66661 -@1
|
|
|
|
...
|
|
|
|
Detector038:
|
|
213 - Name: Bottom/Backward - electric field on, light on -@0
|
|
214 - Histo Number: 38 -@1
|
|
215 - Histo Length: 66661 -@1
|
|
216 - Time Zero Bin: 3419.000000 -@2
|
|
217 - First Good Bin: 3419 -@1
|
|
218 - Last Good Bin: 66661 -@1
|
|
|
|
SampleEnvironmentInfo:
|
|
219 - Cryo: Konti-1 -@0
|
|
220 - Insert: X123 -@0
|
|
221 - Orientation: c-axis perp spin, perp field. spin perp field -@0
|
|
MagneticFieldEnvironmentInfo:
|
|
222 - Magnet Name: WEW -@0
|
|
223 - Current: 17.34 A -@3
|
|
BeamlineInfo:
|
|
224 - Name: muE4 -@0
|
|
ScalerInfo:
|
|
225 - Ip: 12332123 -@1
|
|
RunSummary:
|
|
0000 - Wed Oct 5 01:30:37 2011 Run 2856 started.
|
|
0001 - Wed Oct 5 02:02:51 2011 Run 2856 stopped.
|
|
0002 -
|
|
0003 - LCO, T=170.02(K), wTF ~30(G)/5.18(A), Tr/Sa=15.02/8.50(kV), E=5.63(keV), LEDb off, BP off
|
|
0004 - =========================================================================================
|
|
0005 -
|
|
0006 - #BUC---- B e g i n of User Comment ------ Do not edit this line
|
|
0007 - #EUC---- E n d of User Comment ------ Do not edit this line
|
|
0008 -
|
|
0009 - ====================== E v e n t definition =========================
|
|
0010 -
|
|
0011 - Events:
|
|
0012 - Event_0: (BC)-MCP1-(e+); Event_1:( BC)-TD-MCP2-(e+); Event_2: LEmuSR, (BC)-TD-e
|
|
...
|
|
</pre>
|
|
<p></p>
|
|
Comment: the last sub-tree <code>RunSummary</code> is not following <code>TMusrRunHeader</code> rule <code><number> - <label>: <value> -@<type></code>. It is added in the instrument analyzer directly by other means than the <code>TMusrRunHeader::Set</code> -method. This is no problem! Since <code>RunSummary</code> is not part of the <em>required</em> <code>MusrRoot</code> -file. One is quite free in adding any <code>ROOT</code> based information here.
|
|
<p></p>
|
|
<span id="TMusrRunPhysicalQuantity"></span>
|
|
<h1 id="A_11_61TMusrRunPhysicalQuantity_61_45_Possible_Representations"> 11 <code>TMusrRunPhysicalQuantity</code> - Possible Representations </h1>
|
|
A physical property can be described as
|
|
<p></p>
|
|
<pre>
|
|
<property name>: <value> +- <estimated error> <unit>; SP: <demand>; <description>
|
|
</pre>
|
|
<p></p>
|
|
where <code><property name></code> is the name of the quantity, <em>e.g.</em> <code>Sample Temperature</code>, <code><value></code> the value of the quantity, <code><estimated error></code> the error estimate, <em>e.g.</em> the standard deviation, <code><unit></code> the unit, <em>e.g.</em> <code>K</code>, <code><demand></code> a demand value, <em>e.g.</em> the set point of the temperature. <code><description></code> is a possible additional comment for this quantity.
|
|
<p></p>
|
|
Note, not all of these quantities are always needed. The list of handled combination are given hereafter together with the C++ code snipped how to set it. It is assumed that <code>TMusrRunPhysicalQuantity prop;</code> is somewhere defined.
|
|
<p></p>
|
|
<pre>
|
|
<property name>: <value> <unit> [; <description>]
|
|
</pre>
|
|
<p></p>
|
|
Code snippet:
|
|
<pre class="cplusplus">
|
|
prop.Set("Muon Beam Momentum", 28.1, "MeV/c");
|
|
header->Set("RunInfo/Muon Beam Momentum", prop);
|
|
|
|
prop.Set("Time Resolution", 0.1953125, "ns", "TDC 9999");
|
|
header->Set("RunInfo/Time Resolution", prop);
|
|
</pre>
|
|
<p></p>
|
|
Result in the <code>RunHeader/RunInfo</code>:
|
|
<pre>
|
|
011 - Muon Beam Momentum: 28.1 MeV/c -@3
|
|
013 - Time Resolution: 0.1953125 ns; TDC 9999 -@3
|
|
</pre>
|
|
<p></p>
|
|
The number on front of the token (<em>e.g.</em> <code>011</code> in front of <code>Muon Beam Momentum</code>) will depend on the position where the entry has been added. The last token, <code>-@3</code>, is the encoding of the type: here <code>TMusrRunPhysicalQuantity</code>.
|
|
<p></p>
|
|
<hr />
|
|
<p></p>
|
|
<pre>
|
|
<property name>: <val> +- <err> <unit>[; <description>]
|
|
</pre>
|
|
<p></p>
|
|
Code snippet:
|
|
<pre class="cplusplus">
|
|
prop.Set("CF3", MRH_UNDEFINED, 3.27, 0.09, "K", "strange temperature");
|
|
header->Set("SampleEnvironmentInfo/CF3", prop);
|
|
</pre>
|
|
<p></p>
|
|
Result in the <code>RunHeader/SampleEnvironmentInfo</code>:
|
|
<pre>
|
|
033 - CF3: 3.27 +- 0.09 K; strange temperature -@3
|
|
</pre>
|
|
<p></p>
|
|
<hr />
|
|
<p></p>
|
|
<pre>
|
|
<property name>: <val> <unit>; SP: <demand>[; <description>]
|
|
</pre>
|
|
<p></p>
|
|
Code snippet:
|
|
<pre class="cplusplus">
|
|
prop.Set("CF4", 3.25, 3.28, "K");
|
|
header->Set("SampleEnvironmentInfo/CF4", prop);
|
|
|
|
prop.Set("CF5", 3.26, 3.29, "K", "another strange temperature");
|
|
header->Set("SampleEnvironmentInfo/CF5", prop);
|
|
</pre>
|
|
<p></p>
|
|
Result in the <code>RunHeader/SampleEnvironmentInfo</code>:
|
|
<pre>
|
|
034 - CF4: 3.28 K; SP: 3.25 -@3
|
|
035 - CF5: 3.29 K; SP: 3.26; another strange temperature -@3
|
|
</pre>
|
|
<p></p>
|
|
<hr />
|
|
<p></p>
|
|
<pre>
|
|
<property name>: <value> +- <estimated error> <unit>; SP: <demand>; <description>
|
|
</pre>
|
|
<p></p>
|
|
Code snippet:
|
|
<pre class="cplusplus">
|
|
prop.Set("Sample Magnetic Field", 350.0, 350.002, 0.005, "G", "WXY");
|
|
header->Set("RunInfo/Sample Magnetic Field", prop);
|
|
</pre>
|
|
<p></p>
|
|
Result in the <code>RunHeader/SampleEnvironmentInfo</code>:
|
|
<pre>
|
|
017 - Sample Magnetic Field: 350.002 +- 0.005 G; SP: 350.0; WXY -@3
|
|
</pre>
|
|
<p></p>
|
|
-- <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a> - 29 March 2012</div>
|
|
<p></p>
|
|
<p></p>
|
|
<br class="imageClear" clear="all"/><div class="foswikiAttachments">
|
|
<div class="twistyPlugin foswikiMakeVisible"><span id="topicattachmentslist1show" style="display:none" class="twistyRememberSetting twistyTrigger foswikiUnvisited twistyInited"><a class="patternTwistyButton" href="#"><img src="../pub/System/DocumentGraphics/toggleopen.png" border="0" alt="" /><span class="foswikiLinkLabel foswikiUnvisited">Attachments <span class='foswikiSmall foswikiGrayText'>2</span></span></a></span><span id="topicattachmentslist1hide" style="display:none" class="twistyRememberSetting twistyTrigger foswikiUnvisited twistyInited"><a class="patternTwistyButton" href="#"><img src="../pub/System/DocumentGraphics/toggleclose.png" border="0" alt="" /><span class="foswikiLinkLabel foswikiUnvisited">Attachments <span class='foswikiSmall foswikiGrayText'>2</span></span></a></span></div><div class="twistyPlugin"><div id="topicattachmentslist1toggle" style="" class="twistyRememberSetting twistyContent twistyInited">
|
|
<table border="1" class="foswikiTable" id="tableMusrRoot7" rules="none" summary="Topic attachments"><caption>Topic attachments</caption>
|
|
<thead>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<th class="foswikiTableCol0 foswikiFirstCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=7;up=0#sorted_table" rel="nofollow" title="Sort by this column">I</a> </th>
|
|
<th class="foswikiTableCol1"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=7;up=0#sorted_table" rel="nofollow" title="Sort by this column">Attachment</a> </th>
|
|
<th class="foswikiTableCol2"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=7;up=0#sorted_table" rel="nofollow" title="Sort by this column">Action</a> </th>
|
|
<th class="foswikiTableCol3"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=3;table=7;up=0#sorted_table" rel="nofollow" title="Sort by this column">Size</a> </th>
|
|
<th class="foswikiTableCol4"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=4;table=7;up=0#sorted_table" rel="nofollow" title="Sort by this column">Date</a> </th>
|
|
<th class="foswikiTableCol5"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=5;table=7;up=0#sorted_table" rel="nofollow" title="Sort by this column">Who</a> </th>
|
|
<th class="foswikiTableCol6 foswikiLastCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=6;table=7;up=0#sorted_table" rel="nofollow" title="Sort by this column">Comment</a> </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol"> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/png.png' width='16' height='16' alt='MusrRootValidationScheme.png' /></span><span class="foswikiHidden">png</span> </td>
|
|
<td class="foswikiTableCol1"> <a href="../pub/MUSR/MusrRoot/MusrRootValidationScheme.png">MusrRootValidationScheme.png</a> </td>
|
|
<td class="foswikiTableCol2"> <a href="https://intranet.psi.ch/wiki/bin/attach/MUSR/MusrRoot?filename=MusrRootValidationScheme.png;revInfo=1" title="change, update, previous revisions, move, delete..." rel="nofollow">manage</a> </td>
|
|
<td class="foswikiTableCol3" style="text-align:right"> 96 K </td>
|
|
<td class="foswikiTableCol4"> <span class="foswikiNoBreak">29 Mar 2012 - 11:15</span> </td>
|
|
<td class="foswikiTableCol5"> <a href="https://intranet.psi.ch/Main/UnknownUser">UnknownUser</a> </td>
|
|
<td class="foswikiTableCol6 foswikiLastCol"> </td>
|
|
</tr>
|
|
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
|
|
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/png.png' width='16' height='16' alt='RunInfo.png' /></span><span class="foswikiHidden">png</span> </td>
|
|
<td class="foswikiTableCol1 foswikiLast"> <a href="../pub/MUSR/MusrRoot/RunInfo.png">RunInfo.png</a> </td>
|
|
<td class="foswikiTableCol2 foswikiLast"> <a href="https://intranet.psi.ch/wiki/bin/attach/MUSR/MusrRoot?filename=RunInfo.png;revInfo=1" title="change, update, previous revisions, move, delete..." rel="nofollow">manage</a> </td>
|
|
<td class="foswikiTableCol3 foswikiLast" style="text-align:right"> 53 K </td>
|
|
<td class="foswikiTableCol4 foswikiLast"> <span class="foswikiNoBreak">27 Mar 2012 - 16:09</span> </td>
|
|
<td class="foswikiTableCol5 foswikiLast"> <a href="https://intranet.psi.ch/Main/UnknownUser">UnknownUser</a> </td>
|
|
<td class="foswikiTableCol6 foswikiLastCol foswikiLast"> </td>
|
|
</tr>
|
|
</tbody></table>
|
|
</div></div></div></div>
|
|
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'> > </span>MusrRoot <br />
|
|
Topic revision: <span class='patternRevInfo'>29 Mar 2012, suter_a</span></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:thomas.buecklers@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.MusrRoot'>Send feedback</a></div></div></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div></div><!-- /endWrap -->
|
|
<p></p>
|
|
<!-- Piwik -->
|
|
|
|
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
|
|
<!-- End Piwik Tag -->
|
|
|
|
|
|
</body>
|
|
|
|
<!-- Mirrored from intranet.psi.ch/MUSR/MusrRoot?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 28 Apr 2016 07:39:33 GMT -->
|
|
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
|
|
</html> |