This is a general DAQ/HLT-I release which is intended to be
used for the ATLAS detector commissioning starting
from July 2008. It is
compatible with LCG54g s/w
and offline-14.2.X
releases
branch. W.r.t. tdaq-01-09-00 it does not contain incompatible API
changes (with an exceprion in monitoring), but rebuilding of all user
code is required.
| System
and compiler |
CMTCONFIG |
Compatibility
list |
| Linux 2.6.9 (SLC4), gcc-3.4.x | i686-slc4-gcc34-opt |
SLC4.x,
RHEL4 |
| Linux 2.6.9 (SLC4), gcc-3.4.x | i686-slc4-gcc34-dbg | -
~ - |
| tdaq-common-01-09-03
|
| dqm-common-00-05-00 |
| LCG
54g |
| Java
Runtime Environment 1.6.0 |
| ac | v4r4p0 |
| AccessManager | AccessManager-00-05-19 |
| clips | clips-06-10-06 |
| cmdl | cmdl-01-04-14 |
| cmem_rcc | v2r0p23 |
| coca | coca-01-07-01 |
| config | config-01-17-00 |
| coral_auth | coral_auth-01-05-00 |
| dal | tdaq-01-09-01_patches_02 |
| DataflowPolicy | v1r6p0 |
| dccommon | v1r1p15 |
| dcmessages | v2r2p14 |
| ddc | ddc-05-04-04 |
| DFConfiguration | v9r1p17 |
| DFDebug | v2r0p19 |
| DFExceptions | v3r0p0 |
| DFM | v2r19p2 |
| DFRelease | DFnightly-00-00-45 |
| DFSubSystemItem | v6r3p7 |
| DFTests | v2r1p6 |
| DFThreads | v2r4p0 |
| dnc | dnc-01-00-02 |
| dqm_config | dqm_config-00-04-03 |
| dqm_display | dqm_display-00-00-19 |
| dqmf | dqmf-00-05-00 |
| dvs | dvs-00-32-03 |
| ed | ed-00-02-18 |
| efd | efd-01-14-09 |
| efio | v2r7p0 |
| emon | emon-00-03-07 |
| errorRecovery | v3r2p19 |
| ErrorReporting | v3r0p1 |
| FarmTools | FarmTools-02-01-03 |
| file_sampler | tdaq-01-09-00-p3 |
| gatherer | v8r6p81 |
| genconfig | genconfig-02-08-01 |
| gnam | gnam_010901-04-01-02 |
| gnamDummyLib | gnamDummyLib-01-02-01 |
| histmon | histmon-00-02-25 |
| igui | igui-01-01-49 |
| instrumentation | v1r3p6 |
| io_rcc | v2r0p41 |
| ipc | ipc-04-08-06 |
| is | is-05-05-15 |
| ispy | tdaq-01-09-01_patches-06 |
| Jers | Jers-01-00-03 |
| ktidbexplorer | ktidbexplorer_tdaq-01-09-01_01 |
| l2dummy | v1r8p12 |
| l2pu | tdaq-01-09-01_patch_02 |
| l2rh | tdaq-01-09-01_patch_07 |
| L2streamTest | v1r0p0 |
| l2sv | tdaq-01-09-01_patch_01 |
| ls | ls-01-02-07 |
| mda | mda_010901-04-01-03 |
| MonaIsa | tdaq-01-09-01-p5 |
| MonGatherer | MonGatherer-02-14-13 |
| mrs | mrs-01-09-04 |
| msg | v1r1p9 |
| msgconf | tdaq-01-09-01_patches-01 |
| msginput | v1r3p1 |
| msgsctp | v1r1p0 |
| msgtcp | v1r1p7 |
| msgudp | v1r1p0 |
| NetPanel | NetPanel-01-01-03 |
| NSG | NSG-01-01-03 |
| oh | oh-00-00-84 |
| ohp | ohp-03-01-00 |
| ohpplugins | ohpplugins-01-00-00 |
| oks | tdaq-01-09-01_patches_01 |
| oks2cool | oks2cool_tdaq-01-09-01_03 |
| oks2coral | oks2coral-02-01-02 |
| oksconfig | oksconfig-02-02-01 |
| OMD | tdaq-01-09-01_p1 |
| omni | omni-04-08-08 |
| onasic | onasic_tdaq-01-09-01_02 |
| OnlinePolicy | online-00-23-00 |
| OnlineRecovery | OnlineRecovery-02-02-01 |
| OnlineRelease | nightly-00-00-57 |
| opmon | opmon-00-00-09 |
| owl | owl-00-00-26 |
| PackageID | v1r0p21 |
| PartitionMaker | PartitionMaker-06-05-25 |
| PmgGui | PmgGui-00-00-10 |
| ProcessManager | ProcessManager-01-02-28 |
| pt | v4r4p6 |
| ptdummy | v3r10p5 |
| PTIO | PTIO-03-09-01 |
| queues | v1r0p16 |
| rcc_corbo | v2r0p4 |
| rcc_error | v2r0p5 |
| rcc_rodbusy | v2r0p8 |
| rcc_time_stamp | v2r0p6 |
| rcdal | rcdal-00-01-11 |
| RCDBitString | v1r4p1 |
| RCDJtagChain | v1r2p0 |
| RCDLtp | v1r9p3 |
| RCDLtpi | v1r9p4 |
| RCDLtpiModule | v1r9p9 |
| RCDLTPModule | v1r9p5 |
| RCDMenu | v1r3p0 |
| RCDModuleDesign | v2r2p2 |
| RCDTtc | v1r4p0 |
| RCDUtilities | v1r3p0 |
| RCDVme | v1r2p0 |
| RCInfo | RCInfo-00-02-00 |
| RCUtils | RCUtils-01-02-10 |
| rdb | rdb-05-12-01 |
| rdbconfig | rdbconfig-01-07-03 |
| rm | rm-02-02-08 |
| rn | rn-01-02-06 |
| robin_ppc | v0r0p83 |
| RobinTestSuite | v2r1p23 |
| RODBusy | v1r9p2 |
| RODBusyModule | v1r9p7 |
| roib | v2r7p3 |
| ROSApplication | v6r4p13 |
| ROSBufferManagement | v2r3p0 |
| ROSCore | v8r12p14 |
| rose | v1r19p9 |
| ROSEventFragment | v2r1p22 |
| ROSEventInputManager | v2r1p3 |
| ROSfilar | v2r0p35 |
| ROSGetInput | v2r0p4 |
| ROSInterruptScheduler | v0r0p16 |
| ROSIO | tdaq-01-09-00_patch02 |
| ROSMemoryPool | v2r2p0 |
| ROSModules | v2r7p21 |
| ROSMonitor | v1r1p4 |
| ROSObjectAllocation | v2r0p1 |
| ROSRCDdrivers | ROSRCDdrivers-00-00-38 |
| ROSRobin | v0r1p60 |
| ROSslink | v2r0p11 |
| ROSsolar | v2r0p49 |
| ROSUtilities | v2r4p0 |
| RunController | RunController-01-08-09 |
| SFI | v4r9p12 |
| SFIOEmulators | SFIOEmulators-00-06-04 |
| SFO | v2r13p14 |
| siom | v1r6p2 |
| sysmon | v2r2p14 |
| sysmonapps | v2r3p7 |
| system | system-00-00-12 |
| TDAQExternal | TDAQExternal-00-11-01 |
| TDAQPolicy | TDAQPolicy-00-07-11 |
| thread_allocator | v1r0p7 |
| tidb2 | tidb2_tdaq-01-09-01_00 |
| tmgr | tmgr-01-05-01 |
| training | training-00-04-07 |
| transport | v1r1p4 |
| TriP | TriP-00-00-38 |
| ttcpr | v2r2p0 |
| TTCviModule | v1r9p4 |
| vme_rcc | v2r0p49 |
| wmi | wmi-00-01-11 |
| xmext | xmext-01-02-09 |
DQParameterName[<_>[matched_substring]...]where the matched_subsstirng is the i-th subexpression of the histogram name where i goes from 1 to N and N is the number of matched sub-expressions. For example if the for the DQParameter with the id="TmplParam" the InputDataSource attribute has been defined as:
Histogramming.(dummy[0-9]+).(h[0-9]+)then the histogram which is published with the name:
Histogramming.dummy13.h24will result in the DQResult published with the name:
DQM.TmplParam_dummy13_h24
SelectionCriteria( MaskedValue detector_type,
MaskedValue lvl1_trigger_type,
MaskedValue lvl2_trigger_info,
MaskedValue status_word,
PatternValue lvl1_trigger_pattern,
long statistics = 0);
SelectionCriteria( long detector_type,
long lvl1_trigger_type,
long lvl2_trigger_info,
long status_word,
BitMask256 lvl1_trigger_pattern,
PatternValue::Logic lvl1_pattern_logic,
long statistics = 0);
PatternValue( BitMask256 v, Logic logic );
PatternValue( uint64_t v1, uint64_t v2, uint64_t v3, uint64_t v4, Logic logic );
SamplingAddress address;
address.addComponent( "SFI" );will allow to get events from arbitrary SFI event sampler.
SamplingAddress address;
std::vector<std::string> values;
values.push_back( "SFI-2" );
values.push_back( "SFI-10" );
values.push_back( "SFI-12" );
address.addComponent( "SFI", values );
The ispy package is a Python interface to the Information Service (IS).
It allows easy access from a scripting language to all the information in IS.
To use the package, simply start the tdaq_python interpreter:
% tdaq_python
Python 2.5 (r25:51908, Oct 18 2007, 16:26:11)
[GCC 3.4.6 20060404 (Red Hat 3.4.6-8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from ispy import *
The following classes from IS are available in Python:
The following minimal script shows how to use them in a simple way:
#!/usr/bin/env tdaq_python
part_name = 'rhauser_test'
import sys
from ispy import *
p = IPCPartition(part_name)
if not p.isValid():
print "Partition:",p.name(),"is not valid"
sys.exit(1)
x = ISObject(p, 'DF.L2SV-1', 'L2SV')
print "Exists: ",x.isExist()
x.checkout()
print x
sum = ISObject(p,'DF.L2SV-Summary', 'L2SV')
sum.LVL2_events = x.LVL2_events
sum.checkin(False)
Several utility classes are provide to make it easier to read
arbitrary information from IS. See the examples directory
for how to use them.
The ispygui.py is a simple application using Tcl/Tk to
give an overview of the dataflow part of a running partition.
The callback routines can now be used in separate python threads, the
actual code is protected and deals nicely with the interpreter.
This package substitues the obsolete logService. A new requirement whereby database technologies other than ORACLE had to be dropped came in around spiring 2007. This new requirement meant the re-writing of the logService package, which was higly dependent on MySQL. This opportunity was taken to refactorize the code, especially the log manager, which was never very user friendly. The database access in C++ is done using the CORAL interface, which hides the underlying technology. For the log manager, JAVA was the language chosen, since it brings in the flexibility requiered to make this tool more intuitive. The resulting java application can be run from the console, or remotely using the Java Web Start technology.
In the Log Manager, when righ-clicking on the Messages Table (right hand side panel) or Partition Table (left hand side panel) a Refresh button pops up. This is used to update the current view of partitions and messages, respectively. Refreshing these objects only works if one right-clicks the mouse without moving it; that is, press and release without changing the X and Y pointer of the mouse. This may be a problem with Java. In the meantime, one can also perform a Refresh via the options in the top menu File: 'Refresh tree' and 'Refresh table'.
Add an option to display statistics, internal and from IS.
The Log Service has migrated to the Offline database. During this transition and to be back compatible, the Log Manager has the option to either access the INTR or the Offline (default) databases. Fix bug: If the log message parameter size is larger than 4,000 characters, the logger crashed due to a misleading excpetion thrown by Oracle that invalidated a CORAL variable. Messages are now cropped if their field size is larger than 4,000 character.
The user can now do a search based on the run number. On the left hand side panel of the Log Manager, how messages are searched has changed from Partition->User->SessionID to Partition->User->Runnumber. WARNING: messages between runs are associated to the last run of the partition. If it is the first run for a partition, the messages before the first run will be associated to run number 0. This means that messages produced during starting up (until the next start of run) may be associated to a runnumber started days before.
Usage: log_manager
Instruction on how to use to be written.
The Log Manager can also be run using Java Web Start technology from the link:
If possible, it is preferrable to launch this tool as a Java application rather than from the link above.
Description: This application subscribes to the MRS service to receive and log on a database messages produced by TDAQ applications.
Usage: lsReceiver [-p partition-name] [-u user-name] [-n IS-server-name] [-s threshold-size] -c connect-string [-S subscribe-expression]
Options/Arguments:
-p partitionName Partition name
-u userName User name
-n ISserverName Name of the Information Service to publish the message rate into.
-c connectionString Database connection string.
Description: Test binary for the Log Receiver application.
Usage: logTest -c connect-string [-p partition-name] [-l complexity-level]
Options/Arguments:
-p partitionName Partition name
-l level Level of Complexity of the test [1: open/close - 2: tests the Log Service Infrastructure].
-c connectionString Database connection string.
Description: Application to retrieve log messages for a given partition according to the search criteria specified. By default, messages are dumped on std::cout.
Usage: logSelect -c connect-string -p partition-name [-i message-name] [-m machine-name]
[-a application-name] [-l time-low] [-u time-up] [-s severity]
[-x text] [-r parameters] [-d order-list] [-e max-rows] [-f offset-row]
Options/Arguments:
-p partitionName Partition name
-c connectionString Database connection string.
-i message-name Message name or ID.
-m machine-name Machine name where the message was issued.
-a application-name Application name where the message was issued.
-l time-low Lower time threshold.
-u time-up Upper time threshold.
-s severity Message severity:
1 - FATAL
2 - ERROR
3 - WARNING
4 - DEBUG
5 - INFORMATION
6 - SUCCESS
-x text Text in the message body.
-r parameters Message parameters.
-d order-list Parameter to sort the messages by.
-e max-rows Maximum number of rows to retrieve from the database; 100 by default. If 0, all entries are retrieved.
-f offset-row Offset in the table to retrieve the messages from.
Description: Application to remove log messages for a given partition according to the search criteria specified.
Usage: logDelete -c connect-string -p partition-name [-i message-name] [-m machine-name]
[-a application-name] [-l time-low] [-u time-up] [-s severity]
[-x text] [-r parameters]
Options/Arguments:
-p partitionName Partition name
-c connectionString Database connection string.
-i message-name Message name or ID.
-m machine-name Machine name where the message was issued.
-a application-name Application name where the message was issued.
-l time-low Lower time threshold.
-u time-up Upper time threshold.
-s severity Message severity:
1 - FATAL
2 - ERROR
3 - WARNING
4 - DEBUG
5 - INFORMATION
6 - SUCCESS
-x text Text in the message body.
-r parameters Message parameters.
Description: Application to retrieve the list of partition names.
Usage: logGetPartitionNames -c connectionString
Options/Arguments:
-c connectionString Database connection string.
Description: Application to clean the database by removing all the existing tables.
Usage: logCleanDatabase -c connectionString
Options/Arguments:
-c connectionString Database connection string.
The TrafficType parameter has been removed from
all public interfaces. It has been meaningless for the last five
years and had a default value everywhere it was used.
The few remaining clients that still used DEFAULT_TRAFFIC_TYPE
have all been fixed for this release.
NetworkInterfaces for the same node can
have the same label (e.g. DATA). The client will
search through its own list of network interfaces and if it
finds one which has the same network mask, it will pick this
one automatically.
InterfaceMap
support an additional integer attribute SubType.
This is zero by default (the old behaviour), but can be used to
create an additional set of application/InterfaceMap relationships.
This is introduced for the dual SFI setup.
< general >
< partition name="be_test" />
< server name="Histogramming" />
< subscription name="Provider/.*" />
</general>
< general >
< partition name="be_test" />
< subscription server="Histogramming" provider="Provider" histogram=".*" />
</general>
< display >
< tab name="Tile" >
< histogram name="TileProv/Tile/Drawer1/h1"/>
< /tab>
< /display >
< globaloptions >
< histogram name="TileProv/Tile/Drawer1/h1" >
< DRAWOPT=LEGO/>
< /hisgogram >
< /globaloptions >
has to be changed in:
< display >
< tab name="Tile" >
< histogram name="Histogramming/TileProv/Tile/Drawer1/h1"/>
< /tab>
< /display >
< globaloptions >
< histogram name="Histogramming/TileProv/Tile/Drawer1/h1" >
< DRAWOPT=LEGO/>
< /hisgogram >
< /globaloptions >
In share directory a commented example (example.conf.xml) is provided
with instructions on how to write a configuration file for OHP.In onasic_is2oks:
Implementation of DAL in ONASIC, onasic_is2oks has allready been better structured for such implementation.