Midas documentation: Difference between revisions

From MidasWiki
Jump to navigation Jump to search
 
(50 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==[[Introduction]]==
{{Pagelinks}}


"MIDAS" is an acronym for Maximum Integrated Data Acquisition System.


It is a general-purpose software package for event-based data acquisition in small and medium scale Physics experiments.
Its development has been started at the Paul Scherrer Institute (Switzerland) and at TRIUMF (Canada) in 1993.


''' It is not to be mixed with MIDAS (Multi Instance Data Acquisition System) from UK or any of the MIDAS (Mobile Instrumentation Data Acquisition System) or MIDAS digital and analogue consoles or MIDAS Brakes and Mufflers! '''


MIDAS is based on a modular networking capable and central database system for data acquisition system. It consists of a collection of C, C++ code handling the main functionality required for data communication between the different acquisition nodes, data control for run operation, data distribution for online data analysis and more. It does also provide the appropriate tools for control and monitoring the run condition from a web application. Midas is supported on current OS such as UNIX-like (Linux, MacOS), Windows, VxWorks.
==Documentation organization==
 
Even after two versions of the Midas documentation, it is still a real challenge to describe the Midas package in a clear, concise and useful way. On this third attempt, we reworked the layout and placed everything on Wiki, hoping that collaborators will be keen to correct, add and improve its content. Feel free to do so by contacting us in case of unclear or incomplete information.
While the system is already in use in many laboratories, the development continues with addition of new features and tools. Recent developments involve multi-threading, FGPA/Linux support, MSCB extension, web/JSON interface.
 
==History==
In the early '90s, based on a previous Data Acquisition system running under MS-DOS with network capability (HIX), Dr. Stefan Ritt at Paul Sherrer Institute PSI (Switzerland) started coding a new set of applications which would be OS independent. At that time, OS such as VMS, ULTRIX, VxWorks and Windows were available.
The first deployment of the Midas was for the "Canadian High Acceptance Orbital Spectrometer" (CHAOS) experimental facility at TRIUMF (Canada). Network based, the data were collected from a VME processor running VxWorks (collecting CAMAC, FastBus & VME data) and sending them to a backend computer running VMS and later ULTRIX.
 
Since then, Midas has been deployed on all major experiments at TRIUMF and PSI. It is also used around the world in over 80 locations. From simple workbench test setups to world class experiments such as PiBeta - muon decay [http://meg.icepp.s.u-tokyo.ac.jp/ '''MEG'''] (PSI, Switzerland) - trapping antihydrogen atoms [http://alpha.web.cern.ch/ '''ALPHA'''] (CERN, Switzerland) - neutrino oscillation [http://t2k-experiment.org/ '''T2K'''](J-Parc, Japan) - Decay study Pienu - precision muon measurement Twist (TRIUMF, Canada) - Dark Matter search [http://deap.phy.queensu.ca/ '''DEAP'''] (Sudbury, Canada) - Neutron Capture DANCE (Los Alamos, USA).


Midas has demonstrate its versatile capabilities and proven to be a mature and modern Data Acquisition Software package.
The documentation of the '''MIDAS code''' is still generated by Doxygen and can be found at
A none exhaustive list of experiments can be found [https://midas.triumf.ca/MidasWiki/index.php/MIDAS_around_the_world here].
[https://daq00.triumf.ca/~daqweb/doc/midas-develop/html/].


July 2013 : Stefan Ritt visit at Triumf
* Midas code from local SVN repository to Bitbucket cloud based GIT repository [https://bitbucket.org/tmidas/midas Tmidas]
* Implementation of multi-threading transition
* New Midas web page
* JSON, JSON-P for custom Midas web page support
==Documentation organization==
Even after two versions of the Midas documentation, it is still a real challenge to describe the Midas package in a clear, concise and useful way. On this third attempt, we reworked the layout and placed everything on Wiki, hoping that collaborators will be keen to correct, add and improve its content. Feel free to do so by contacting us in case of unclear or incomplete information.


We split the documentation in 4 main sections: '''Installation''', '''Feature listing''', '''Application listing''', '''Online Database'''.
We split the documentation in 4 main sections: '''Installation''', '''Feature listing''', '''Application listing''', '''Online Database'''.
While the first one provide you a mean to get Midas up and running, the 'Feature listing' should highlight what Midas can do and provide some general information on its implementation.
While the first one provides you a means to get Midas up and running, the '''Feature listing''' should highlight what Midas can do and provide some general information on its implementation.
The 'Application listing' refers to 'system- & user- build' applications that maybe needed during the acquisition. The 'Online Database' section describes in details the Midas central information database.  
The '''Application listing''' refers to 'system- & user- build' applications that maybe needed during the acquisition. The '''Online Database''' section describes in details the Midas central information database.  
Appendices as the last section collect references, and features information with the understanding that the reader is already familiar with the Midas environment.
Appendices as the last section collect references, and features information assuming that the reader is already familiar with the Midas environment.


A lot of information can be replicate in every section, but we try to minimize it by cross referencing elements between the different sections.
A lot of information can be replicated in every section, but we try to minimize it by cross referencing elements between the different sections.
The hope is that once you found the feature that you need, the involved application and the activation of this feature with its specific online database section will be easily identifiable.  
The hope is that once you have found the feature that you need, the involved application and the activation of that feature with its specific online database section will be easily identifiable.


==[[Installation]]==
==[[Installation]]==
While originally Midas was available for all sorts of OS, now-a-days, we tend to reduce its support to Linux based, MacOS, and windows.
Although originally Midas was available for all sorts of OS, nowadays we tend to reduce its support to Linux-based, MacOS, and Windows.
While 'Midas package retrieval' and 'quick start' sections are OS independent, specific procedure on OS based is given for compilation/build/dependencies.
This section contains general information and procedure for installation, configuration and examples of basic operation.
This section also includes the environment variables available for a proper MIDAS-DAQ setup .
[[Installation|'''more...''']]


==[[Feature listing]]==
==[[Feature listing]]==
Midas provides by default a complete DAQ system composed of i.e: Frontend template for acquiring your hardware information, data transfer mechanism to local/remote computer, data logging capability, data analysis framework, data monitoring, full run control, web interface for experiment control/monitoring.
Midas provides by default a complete DAQ system, the main features of which comprise: frontend template for acquiring your hardware information, data transfer mechanism to local/remote computer, data logging capability, data analysis framework, data monitoring, full run control, and web interface for experiment control/monitoring.
While each of these features is described, other potentially useful but ''hidden'' options such as sub-run, messages, history, run sequencer, alarms, event notification, etc,  may be as well essential to your experiment. A list of such features with description, enabling method and operation is also provided. [Feature_listing more...]
While each of these features is described, other potentially useful but ''hidden'' options such as sub-run, messages, history, run sequencer, alarms, event notification, etc,  may also be essential to your experiment. A list of such features with description, enabling method, and operation is also provided. [[Feature_listing|'''more...''']]
 


==[[Application listing]]==
==[[Application listing]]==
Midas comes with a set of applications for monitoring and control of the acquisition system such as a central database editor (odbedit), webserver (mhttpd), data logger (mlogger) etc. This section describes each individual task and link to the corresponding features and online database entry managing such a feature.
Midas comes with a set of applications for monitoring and control of the acquisition system such as a central database editor (odbedit), webserver (mhttpd), data logger (mlogger) etc. This section describes each individual task and link to the corresponding features and online database entry managing such a feature. [[Application_listing|'''more...''']]


The Midas distribution comes with an '''examples/''' directory containing specific application demo code. This list of templates is referred as well in this section.


==[[Online Database]]==
==[[Online Database]]==
The online database (ODB) is the DAQ central information hub for a given experiment. It contains all information related to the internal operation of the data acquisition and any user information related to the configuration of the experiment defined by the user. It is meant to be accessible by any midas client application connected to this experiment and by the user through a command line application (odbedit) or through a web interface (mhttpd). Features operation, applications configuration will be need prior, during and after a run sequence, access to some of its information (ODB) to configure or report conditions of the feature to the user. Its content is organized with multiple directory levels filled with structure, arrays or single variables. While user can create new directories reflecting his hardware or analysis configuration, there are dedicated directories reserved for the core operation of the system (/SYSTEM/, /RUNINFO/, ...) but remain readable by the user.
The online database (ODB) is the DAQ central information hub for a given experiment. It contains all information related to the internal operation of the data acquisition and any user information related to the configuration of the experiment. It is accessible by any Midas client application connected to this experiment, and by the user through a command line application (odbedit) or through a web interface (mhttpd).


Once the ODB structure is understood, it will become clear to the user how to use and extend its use.
Its content is organized with multiple directory levels filled with structure, arrays or single variables. While the user can create new directories reflecting his/her hardware or analysis configuration, there are dedicated directories reserved for the core operation of the system (/SYSTEM/, /RUNINFO/, ...) but they still remain readable by the user. [[Online_Database|'''more...''']]


==Appendices ==
*===[[Supported Hardware]]===
*===[[Slow Control Hardware]]===
*===[[Mac specific information]]===
*===[[Multi-threading option]]===
*===[[Event Builder information]]===
*===[[MIDAS Event Structure]]===
*===[[Data Formats]]===


----
==[[Appendices]]==
* [[Supported Hardware]]
* [[Mac specific information]]
* [[Multi-threading option]]
* [[Event Builder information]]
* [[MIDAS Event Structure]]
* [[Common Parameters to MIDAS Utilities]]
* [[Notes | Miscelleneous notes]] : Notes that need to be incorporated in the documentation.
* [[Features | New Features]] : documented features to be incorporated in the documentation.


== [[Glossary]] ==
== [[Glossary]] ==
== [[Index]] ==
 
== [https://midas.triumf.ca/MidasWiki/index.php?title=Special%3AAllPages&from=&to=&namespace=0 All Pages listing] ==

Latest revision as of 11:30, 4 August 2023




Documentation organization

Even after two versions of the Midas documentation, it is still a real challenge to describe the Midas package in a clear, concise and useful way. On this third attempt, we reworked the layout and placed everything on Wiki, hoping that collaborators will be keen to correct, add and improve its content. Feel free to do so by contacting us in case of unclear or incomplete information.

The documentation of the MIDAS code is still generated by Doxygen and can be found at [1].


We split the documentation in 4 main sections: Installation, Feature listing, Application listing, Online Database. While the first one provides you a means to get Midas up and running, the Feature listing should highlight what Midas can do and provide some general information on its implementation. The Application listing refers to 'system- & user- build' applications that maybe needed during the acquisition. The Online Database section describes in details the Midas central information database. Appendices as the last section collect references, and features information assuming that the reader is already familiar with the Midas environment.

A lot of information can be replicated in every section, but we try to minimize it by cross referencing elements between the different sections. The hope is that once you have found the feature that you need, the involved application and the activation of that feature with its specific online database section will be easily identifiable.

Installation

Although originally Midas was available for all sorts of OS, nowadays we tend to reduce its support to Linux-based, MacOS, and Windows. This section contains general information and procedure for installation, configuration and examples of basic operation. more...

Feature listing

Midas provides by default a complete DAQ system, the main features of which comprise: frontend template for acquiring your hardware information, data transfer mechanism to local/remote computer, data logging capability, data analysis framework, data monitoring, full run control, and web interface for experiment control/monitoring. While each of these features is described, other potentially useful but hidden options such as sub-run, messages, history, run sequencer, alarms, event notification, etc, may also be essential to your experiment. A list of such features with description, enabling method, and operation is also provided. more...


Application listing

Midas comes with a set of applications for monitoring and control of the acquisition system such as a central database editor (odbedit), webserver (mhttpd), data logger (mlogger) etc. This section describes each individual task and link to the corresponding features and online database entry managing such a feature. more...


Online Database

The online database (ODB) is the DAQ central information hub for a given experiment. It contains all information related to the internal operation of the data acquisition and any user information related to the configuration of the experiment. It is accessible by any Midas client application connected to this experiment, and by the user through a command line application (odbedit) or through a web interface (mhttpd).

Its content is organized with multiple directory levels filled with structure, arrays or single variables. While the user can create new directories reflecting his/her hardware or analysis configuration, there are dedicated directories reserved for the core operation of the system (/SYSTEM/, /RUNINFO/, ...) but they still remain readable by the user. more...


Appendices

Glossary

All Pages listing