Edit-on-start Parameters

From MidasWiki
Jump to navigation Jump to search


Links

Introduction

When a run is started, by default only the run number of the upcoming run will be displayed for editing (Figure 1).

Figure 1: Run start with no edit-on-start parameters defined
Using mhttpd Using odbedit
Mhstart1.gif
 [local:bnmr:S]/Experiment>start
 Run number [30499]: 
 Are the above parameters correct? ([y]/n/q):





edit-on-start parameters

It is often convenient to display and edit additional parameters prior to the run start. Not surprisingly, these parameters are known as edit-on-start parameters, since they automatically appear every time a run starts, and they are editable by the user.

Edit-on-start parameters are defined by creating ODB keys (or links to existing ODB keys) in a special subtree named Edit on start that the user creates in the /Experiment ODB tree.

Many users link to the Write data key (see below) which enables/disables writing of data. A quick test run can then be made without data logging (see Figure 2).


Figure 2: Run start with one edit-on-start parameter defined
Using mhttpd Using odbedit
Mhstart.gif
 [local:test:S]/Experiment>start
 Write data : n
 Run number [30499]:
 Are the above parameters correct? ([y]/n/q):  



Note

By using the odbedit command start now, any edit-on-start parameters will not be displayed; the run will start immediately.




Creating edit-on-start parameters

Note
The examples shown here use odbedit for ease of documentation; many users will prefer to use the editing function of the mhttpd ODB Page to create the ODB keys.


The first step to setting up the edit-on-start parameters is to create the subtree Edit on start under /Experiment as follows:

$odbedit
[local:Default:S]/>cd /experiment
[local:Default:S]/Experiment>mkdir "Edit on start"
[local:Default:S]/Experiment>cd "Edit on start"
[local:Default:S]/Edit on start>

Then the user either creates the required parameters, or, if the parameters already exist elsewhere in the ODB, creates links to the parameters in the Edit on start subtree.

Some users find it convenient to create a subtree of /Experiment named Run Parameters to contain the run parameters. Links to these parameters in the subtree Run Parameters are then created in the Edit on start subtree.

The example below shows the creation of three parameters in the Edit on start subtree.:

  • a parameter to contain the title of the run (called run_title )
  • a link to the ODB parameter /Logger/Write data
  • a link to the ODB parameter /Equipment/FIFO_acq/frontend/hardware/num cycles(previously created by the user)
  • a link to the ODB parameter /Equipment/Run Parameters/Run Description (previously created by the user)
[local:Default:S]/Edit on start>
[local:Default:S]/Edit on start>create string run_title
String length [32]:128
[local:Default:S]/Edit on start>ln "/Equipment/FIFO_acq/frontend/hardware/num cycles" "Number of cycles"
[local:Default:S]/Edit on start>ln "/Experiment/Run Parameters/Run Description" "Description"
[local:Default:S]/Edit on start>ln "/Logger/Write data" "write data"
[local:Default:S]Edit on start>ls -lt
Key name                        Type    #Val  Size  Last Opn Mode Value
---------------------------------------------------------------------------
 run_title                      STRING  1     128   13m  0   RWD
 Number of cycles -> /equipment/fifo_acq/frontend/hardware/num cycles
                               DWORD   1     4     >99d 0   RWD  0
 write data -> /logger/Write data
                               BOOL    1     4     >99d 0   RWD  y
 Description -> /Experiment/Run Parameters/Run Description
         




edit-on-start parameter comments

An optional subdirectory Parameter Comments can be created under the /Experiment ODB tree to display some extra text on the mhttpd Start page under an edit-on-start parameter where the parameter name may not contain enough information. In this case, a parameter comment can be created by the user.

This "parameter comment" option is visible ONLY when using the MIDAS web server mhttpd. The odbedit start command will not display this extra information.

The name of the parameter in the Parameter Comments subtree must match that of the corresponding edit-on-start parameter.

Parameter comments when edit-on-start parameter is a link

If the edit-on-start parameter is a link which is named differently from the actual parameter, then the parameter name in the Parameter Comments subtree must match the name of the actual parameter, rather than the link-name.

This is illustrated in the below, where the Edit-on-start parameter is a link named "number of cycles", which links to the actual parameter named /equipment/fifo_acq/frontend/hardware/num cycles. The parameter name in the Parameter Comments subtree for this parameter must be "num cycles" and NOT "number of cycles".

[local:bnqr:Stopped]Parameter Comments>ls "Edit on start/Number of cycles" 
Number of cycles -> /Equipment/FIFO_acq/frontend/hardware/num cycles
                              0
[local:bnqr:Stopped]/Experiment>ls "Parameter Comments/Num cycles" 
Num cycles   Stop run after number of cycles is reached. Enter 0 to disable (free running)      


Adding HTML styles to parameter comments

HTML styling can be added to the parameter comments using the HTML span tag, as in Figures 3a and 3b.

Figure 3a Adding HTML styling to the parameter comments Keys in ODB

Bnqr parameter comments.png


'Figure 3b Parameter comments shown with HTML styling Bnqr run start.png






Example of edit-on-start parameters

The relevant parts of the /Experiment tree are shown below

[local:test:S]/Experiment>ls -lr
Key name                        Type    #Val  Size  Last Opn Mode Value
---------------------------------------------------------------------------
Experiment                     DIR
   Name                        STRING  1     32    5s   0   RWD  test
   .........
   Run Parameters              DIR
       Run Description         STRING  1     256   2h   0   RWD  Test run
   edit on start               DIR
       run_title               STRING  1     128   1m   0   RWD  test without beam
       experiment number       STRING  1     32    1m   0   RWD  12345
       sample                  STRING  1     32    1m   0   RWD  NA
       field                   STRING  1     32    52s  0   RWD  2500
       Number of cycles -> /equipment/fifo_acq/frontend/hardware/num cycles
                               DWORD   1     4     >99d 0   RWD  0
       write data -> /logger/Write data
                               BOOL    1     4     >99d 0   RWD  y
       Description -> /Experiment/Run Parameters/Run Description
                               STRING  1     256   2h   0   RWD  Test run
   parameter comments          DIR
       field                   STRING  1     64    35m  0   RWD  Entered in Tesla unit
       active                  STRING  1     64    35m  0   RWD  Enter y to save data to disk
       Num cycles              STRING  1     80    34m  0   RWD  Stop run after num cycles is reached. Enter 0 to disable (free running) 
      .......

Starting a run with edit-on-start parameters set up as above, results in a list of the edit-on-start parameters which the user can change (Figure 4).


Figure 4: Run start with many edit-on-start parameters defined
Using mhttpd Using odbedit
Mhstart2.gif
 [local:test:S]/Experiment>start
 run_title : test without beam
 experiment number : 12345
 sample : NA
 field : 2500
 Number of cycles : 0
 write data : y
 Description : Test run
 Run number [30499]:
 Are the above parameters correct? ([y]/n/q):
 Starting run #30499





Prevent the run number being edited at Run Start

NOTES
  1. Most experiments do not use this feature. It was requested for experiments where the run number is strictly controlled, e.g. with a custom run number checking system that assigns the run number automatically based on the type of run.
  2. This feature is ignored by odbedit; regardless of whether the key Edit run number is present, the run number may be edited when using odbedit to start the run.


By default, the user has the option to edit the run number at begin of run. To prevent this, the user may add an optional key Edit run number to the /Experiment/Edit on Start subdirectory. If this key is set to "n", the user will not be able to edit the run number on the mhttpd Start Page at the begin of run.

By creating the key /Experiment/Edit on Start/Edit run number as a Boolean variable, the ability of editing the run number in the mhttpd Start Page is enabled or disabled, e.g.

[local:Default:S]Edit on start>create BOOL "Edit run number"
[local:Default:S]Edit on start>set "Edit run number" n

By default, if this key is NOT present, the run number IS editable.

Figure 5 shows edit-on-start parameters with the key "Edit run number" present, using the mhttpd ODB Page (Figure 5a) or odbedit (Figure 5b).

Figure 5: Displaying edit-on-start parameters
Figure 5a: Using mhttpd ODB Page Figure 5b: Using odbedit
Odb edit on start.png
[local:bnqr:Stopped]/Experiment>ls "Edit on start/
run_title                       MgO, HH=22mT, 300 K, 28 keV 31Mg, SLR
experiment number               9998
experimenter                    ms cdpl wlk lp gdm
sample                          MgO
orientation                     100
temperature                     300 K
field                           220 G
run mode -> /Experiment/run parameters/run mode
                                1
Number of cycles -> /Equipment/FIFO_acq/frontend/hardware/num cycles
                                0
write data -> /Equipment/FIFO_acq/mdarc/enable mdarc logging
                                y
Edit run number                 n



The resulting mhttpd Start Page is shown below (Figure 6).

Figure 6: Start Page where run number cannot be edited

Figure 6