Difference between revisions of "Equipment List Parameters"

From MidasWiki
Jump to navigation Jump to search
Line 7: Line 7:
 
[[#Equipment Name]] [[#EventID]] [[#TriggerMask]]  [[#Equipment Type]]  [[#Test1]]  [[#Buffer]]
 
[[#Equipment Name]] [[#EventID]] [[#TriggerMask]]  [[#Equipment Type]]  [[#Test1]]  [[#Buffer]]
  
[[#Equipment Type]] [[#EQ_PERIODIC]] [[#EQ_POLLED]] [[#EQ_INTERRUPT]] [[#EQ_MULTITHREAD]] [[#EQ_SLOW]]  [[#EQ_MANUAL_TRIG]] [[#EQ_FRAGMENTED]] [[#EQ_EB]]
+
[[#Equipment Type]] [[Equipment Flags#EQ_PERIODIC|EQ_PERIODIC]] [[Equipment Flags#EQ_POLLED|EQ_POLLED]] [[Equipment Flags#EQ_INTERRUPT|Q_INTERRUPT]] [[Equipment Flags#EQ_MULTITHREAD|Q_MULTITHREAD]] [[Equipment Flags#EQ_SLOW|EQ_SLOW]]  [[Equipment Flags#EQ_MANUAL_TRIG|EQ_MANUAL_TRIG]]   [[Equipment Flags#EQ_EB|EQ_EB]] [[Equipment Flags#EQ_FRAGMENTED|EQ_FRAGMENTED]]  
  
 
[[#MirroredInODB]]
 
[[#MirroredInODB]]
Line 41: Line 41:
 
| style="color: seagreen;"    | Buffer
 
| style="color: seagreen;"    | Buffer
 
|  Specifies the name of the Buffer to which the event will be sent. After composition of an "Equipment", the Midas  [[Frontend Operation#Frontend|Frontend]] ''mfe.c''
 
|  Specifies the name of the Buffer to which the event will be sent. After composition of an "Equipment", the Midas  [[Frontend Operation#Frontend|Frontend]] ''mfe.c''
takes over the sending of this event to the buffer (usually the '''"SYSTEM"''' buffer) on the back-end computer  where it may be sent to the data logger [[mlogger] and the [[analyser]].
+
takes over the sending of this event to the buffer (usually the '''"SYSTEM"''' buffer) on the back-end computer  where it may be sent to the data logger [[mlogger]] and the [[analyser]].
  
 
*  If this field is left empty, (i.e. set to ""), the readout function associated with that equipment will still be performed, but the  actual event won't be sent to the buffer. Instead, that particular equipment can be '''mirrored in the ODB''' if the "[[#RO_ODB|RO_ODB]]" flag is turned on (see @ref  FE_RO_ODB_example "example").  The ODB is updated with a new event approximately every second. Note that this feature is generally used only for testing or monitoring, as writing large amounts of data to the ODB takes time.  
 
*  If this field is left empty, (i.e. set to ""), the readout function associated with that equipment will still be performed, but the  actual event won't be sent to the buffer. Instead, that particular equipment can be '''mirrored in the ODB''' if the "[[#RO_ODB|RO_ODB]]" flag is turned on (see @ref  FE_RO_ODB_example "example").  The ODB is updated with a new event approximately every second. Note that this feature is generally used only for testing or monitoring, as writing large amounts of data to the ODB takes time.  
* By using a buffer other than the "SYSTEM" buffer,  [[Event Filtering]] can be implemented.  
+
* By using a buffer other than the SYSTEM buffer,  [[Event Filtering]] can be implemented.  
 
* If using an [[Event Builder]] [[Mevb]] ( i.e. a secondary stage on the back-end to collect and assemble events coming from different buffers in order to
 
* If using an [[Event Builder]] [[Mevb]] ( i.e. a secondary stage on the back-end to collect and assemble events coming from different buffers in order to
compose a larger event) , a dedicated buffer can be specified.  In this case the "[[#EQ_EB|EQ_EB]]" flag must be turned on, and the events coming from the  [[Frontend Operation#Frontend|Frontend]] are called  '''fragments'''.
+
compose a larger event) , a dedicated buffer can be specified.  In this case the [[#EQ_EB|EQ_EB]] flag must be turned on, and the events coming from the  [[Frontend Operation#Frontend|Frontend]] are called  ''fragments''.
  
  
Line 54: Line 54:
 
| style="color: seagreen;"    | Type
 
| style="color: seagreen;"    | Type
 
| Equipment '''Type''' should be set to one of the Equipment Flags EQ_XXX selected
 
| Equipment '''Type''' should be set to one of the Equipment Flags EQ_XXX selected
from the [[Equipment Flags|list of valid Equipment Flags]].
+
from the [[Equipment Flags|list of valid Equipment Flags]], i.e. one of
 +
<div style="column-count:4;-moz-column-count:4;-webkit-column-count:4">
 +
* [[Equipment Flags#EQ_PERIODIC|EQ_PERIODIC]]
 +
* [[Equipment Flags#EQ_POLLED|EQ_POLLED]]
 +
* [[Equipment Flags#EQ_INTERRUPT|EQ_INTERRUPT]]
 +
* [[Equipment Flags#EQ_MULTITHREAD|EQ_MULTITHREAD]]
 +
* [[Equipment Flags#EQ_SLOW|EQ_SLOW]]
 +
* [[Equipment Flags#EQ_MANUAL_TRIG|EQ_MANUAL_TRIG]]
 +
* [[Equipment Flags#EQ_EB|EQ_EB]]
 +
* [[Equipment Flags#EQ_FRAGMENTED|EQ_FRAGMENTED]]
 +
</div>
  
 +
<div id="Source"></div>
 +
|-  style="background-color: mintcream; "
 +
| style="color: seagreen;"    | Source
 +
| This field (i.e. the  interrupt or event  source) is only used if the [[#Type|Equipment Type]] is set to  [[Equipment Flags#EQ_INTERRUPT|EQ_INTERRUPT]] or [[Equipment Flags#EQ_MULTITHREAD|EQ_MULTITHREAD]]. The Interrupt Source field is a bit-wise pattern representing the interrupt that is allowed to trigger the call to the  [[readout routine]]. The  @ref  FE_poll_or_interrupt_readout_routine "example"  shows a CAMAC or VME source for the interrupt. A MACRO (LAM_SOURCE) calculates the bit pattern from the parameters (Crate,Slot).
  
 +
If not using an interrupt, this field is set to 1.
  
  
 +
<div id="Format"></div>
 +
|-  style="background-color: mintcream; "
 +
| style="color: seagreen;"    | Format
 +
|Specifies the data format used for generating the event. Only [[Event Structure#MIDAS Format Event|"MIDAS"]] and  [[Event Structure#FIXED Format Event|"FIXED"]] formats are valid in the frontend. The format must agree with the way the event is composed in the Equipment [[readout routine]].  It tells the system how to interpret an event when it is copied to the ODB or displayed in a user-readable form. Data in "MIDAS" and/or "FIXED" format from the frontend can be saved by the MIDAS data logger [[Mlogger|mlogger]] in a number of formats (see  [[Keys in the ODB /Logger/Channels tree #/Logger/Channels/0/Settings/Format | mlogger format]] ).
 +
'''NOTE'''
 +
*MIDAS or FIXED data format can be mixed at the frontend level, but <span style="color:darkcyan;">''mlogger''</span> is not able to handle this format diversity on a event-by-event basis.
 +
In practice
 +
** The data format (MIDAS/FIXED) should be identical throughout one equipment definition
 +
** Different equipments can, of course, have different formats in the same frontend.
 +
* ROOT format cannot be specified in the equipment definition. To save raw data in ROOT format,  the [[#Bank definition]] must be supplied, and a conversion to ROOT
 +
format is done by the [[Keys in the ODB /Logger/Channels tree #/Logger/Channels/0/Settings/Format | data logger]] ).
 +
* For FIXED events, the  [[Bank definition]] parameter may contain the  [[Init String]].
 +
 
  
  

Revision as of 13:57, 30 October 2013

TABLE showing Equipment List Parameters

Links Equipment Declaration

B

#Equipment Name #EventID #TriggerMask #Equipment Type #Test1 #Buffer

#Equipment Type EQ_PERIODIC EQ_POLLED Q_INTERRUPT Q_MULTITHREAD EQ_SLOW EQ_MANUAL_TRIG EQ_EB EQ_FRAGMENTED

#MirroredInODB

Note These parameters are copied to the ODB /Equipment/<equipment-name>/Common subdirectory when the frontend is initialized.

EQUIPMENT Parameter Explanation
Equipment Name Each equipment has to be assigned a unique name (i.e. no two equipments in the same experiment may have the same name). The name will be the reference name of the equipment generating the event. Examples of typical Equipment Names are "Trigger","Scaler","Epics".
EQUIPMENT_INFO Structure
EventID Each equipment has to be associated with a unique eventID . The event ID will be part of the event header of that particular equipment.
Trigger Mask Each equipment must be associated with a unique Trigger Mask if the Equipment Type is "EQ_INTERRUPT" or "EQ_MULTITHREAD". In this case, the Trigger Mask can be modified dynamically by the readout routine to define a sub-event type on an event-by-event basis. This can be used to mix "physics events" (from a physics trigger) and "calibration events" (from a clock for example) in one run and identify them later. Both parameters are declared as 16bit values. If the Trigger Mask is used in a single bit-wise mode, 16 is the maximum number of different masks available.
Buffer Specifies the name of the Buffer to which the event will be sent. After composition of an "Equipment", the Midas Frontend mfe.c

takes over the sending of this event to the buffer (usually the "SYSTEM" buffer) on the back-end computer where it may be sent to the data logger mlogger and the analyser.

  • If this field is left empty, (i.e. set to ""), the readout function associated with that equipment will still be performed, but the actual event won't be sent to the buffer. Instead, that particular equipment can be mirrored in the ODB if the "RO_ODB" flag is turned on (see @ref FE_RO_ODB_example "example"). The ODB is updated with a new event approximately every second. Note that this feature is generally used only for testing or monitoring, as writing large amounts of data to the ODB takes time.
  • By using a buffer other than the SYSTEM buffer, Event Filtering can be implemented.
  • If using an Event Builder Mevb ( i.e. a secondary stage on the back-end to collect and assemble events coming from different buffers in order to

compose a larger event) , a dedicated buffer can be specified. In this case the EQ_EB flag must be turned on, and the events coming from the Frontend are called fragments.


Type Equipment Type should be set to one of the Equipment Flags EQ_XXX selected

from the list of valid Equipment Flags, i.e. one of

Source This field (i.e. the interrupt or event source) is only used if the Equipment Type is set to EQ_INTERRUPT or EQ_MULTITHREAD. The Interrupt Source field is a bit-wise pattern representing the interrupt that is allowed to trigger the call to the readout routine. The @ref FE_poll_or_interrupt_readout_routine "example" shows a CAMAC or VME source for the interrupt. A MACRO (LAM_SOURCE) calculates the bit pattern from the parameters (Crate,Slot).

If not using an interrupt, this field is set to 1.


Format Specifies the data format used for generating the event. Only "MIDAS" and "FIXED" formats are valid in the frontend. The format must agree with the way the event is composed in the Equipment readout routine. It tells the system how to interpret an event when it is copied to the ODB or displayed in a user-readable form. Data in "MIDAS" and/or "FIXED" format from the frontend can be saved by the MIDAS data logger mlogger in a number of formats (see mlogger format ).

NOTE

  • MIDAS or FIXED data format can be mixed at the frontend level, but mlogger is not able to handle this format diversity on a event-by-event basis.

In practice

    • The data format (MIDAS/FIXED) should be identical throughout one equipment definition
    • Different equipments can, of course, have different formats in the same frontend.
  • ROOT format cannot be specified in the equipment definition. To save raw data in ROOT format, the #Bank definition must be supplied, and a conversion to ROOT

format is done by the data logger ).