OKS Database How to Version 2.0 A. Bazan, G. Perrot Access OKS database with OKS button in TDAQ. Or type oks_data_editor Larg.data.xml & in directory /atlashome/lardaq/workarea/USA15_EMBA/vxry/databases/partitions. In this case you must have first done sod and ss in the correct places in this window. 1 To add a new injector: 1.1 Find in which data file the objects are stored: In the OKS Data Editor window and in its Data files part double click on Larg.INJ.segment.data.xml, a new window opens. In this window, right click option show on INJC@Segment, a new window opens. In this window right click option show on INJC@RODC in part UsesObjects, a new window opens. In this window in the Relationships Modules part you can see the modules which are there ( in our case injectors). You can also see in the upper part of the window the data file where the information is. Here Larg.hw.data.xml We can now close all windows but the main one. 1.2 Duplicate the configuration file of an existing injector for the new injector: In directory /atlas-home/lardaq/workarea/USA15_EMBA/vxry/database/config/INJ cp INJ_01.dat INJ_xx.dat cp INJTTC_01.dat INJTTC_xx.dat You don’t need to modify its content as we use the same parameters in all injectors at least at the beginning. Later on you will have access to them in the TDAQ LargOnline panel. 1.3 Create a new injector in the database In the OKS Data Editor window and in its Data files part double click on Larg.hw.data.xml, a new window opens with all the objects defined there. For the injector there is an object PARAMS_INJ_xx@ConfigurationFile and an object PARAMS_TTC_INJ_xx@ConfigurationFile for the parameters of the injector and an object INJ_xx@LARG_Module for the module itself. To be able to duplicate these objects the datafile must be set to an active mode In the main OKS window click on Larg.hw.data.xml to select it and then right click option set active. The access becomes active instead of read-write. 1.3.1 Duplicate the object PARAMS_INJ_01@ConfigurationFile Double click on the object you want to duplicate in our case PARAMS_INJ_01@ConfigurationFile. A window opens. At the top left (paper icon) right click option copy. A requester for the name of the new object appears. Type in the new name or better before using copy select the name of the old object with a simple click on its name in its window( it reverses the colors) and in the requester middle click and just change the number at the end. And. click OK. A new window for the new object opens. Change the Attributes: filename to the new one with right click option set and then OK 06.03.16 G.Perrot LAPP Page1 Paper Title 1.3.2 Duplicate the object PARAMS_TTC_INJ_01@ConfigurationFile Double click on the object you want to duplicate in our case PARAMS_TTC_INJ_01@ConfigurationFile. A window opens. At the top left (paper icon) right click option copy. A requester for the name of the new object appears. Type in the new name or better before using copy select the name of the old object with a simple click on its name in its window( it reverses the colors) and in the requester middle click and just change the number at the end. And. click OK. A new window for the new object opens. Change the Attributes: filename to the new one with right click option set and then OK 1.3.3 Duplicate the object. INJ_01@LARG_Module Use the same method as before for duplicating the object. Change the values of the different fields with right click option set value In Relationships HasConfigurationFile you must change the object which refers to the configuration file. To do this in the window with all the objects, select the object you defined in the previous chapter with a click and then right click option select. In the object window right click option set object in the field HasConfigurationFile. 1.3.4 Modify HFEC for TTCrx TO BE DEVELOPED 1.3.5 Save the data file In the main window data files select Larg.hw.data.xml and right click option save 2 To add a new ROD It is easier to add them directly in the file Larg.hw.data.xml in the directory ~/EMF/EMFDAQ/vxry/databases/hw/. 2.1 Duplicate the configuration files of an existing ROD In directory /atlas-home/lardaq/workarea/USA15_EMBA/vxry/database/config/EMBA/Cx cp Rod_01.dat Rod_0x.dat cp RodTTC_01.dat RodTTC_0x.dat 2.2 Create a new ROD in the database In the OKS Data Editor window and in its Data files part double click on one of the Larg.hw.Crate_EMBA0x.xml, a new window opens with all the objects defined there. For the ROD there is an object PARAMS_ROD_xx_EMBAx@ConfigurationFile for the parameters of the ROD and an object ROD_xx_EMBAx @LARG_Module for the module itself. There is only one common file PARAMS_TTC_VIRTUAL_ROD_xx_EMBAx@ConfigurationFile To be able to duplicate these objects the datafile must be set to an active mode In the main OKS window click on Larg.hw.Crate_EMBA0x.xml to select it and then right click option set active. The access becomes active instead of read-write. 2.2.1 Duplicate the object PARAMS_ROD_01@ConfigurationFile Double click on the object you want to duplicate in our case PARAMS_ROD_01@ConfigurationFile. A window opens. At the top left (paper icon) right click option copy. A requester for the name of the new object appears. Type in the new name or better before using copy select the name of the old object with a simple click on its name in its window( it reverses the colors) and in the requester middle click and just change the number at the end. And. click OK. A new window for the new object opens. Change the Attributes: filename to the new one with right click option set and then OK 23/02/2006 G.Perrot LAPP Page2 Paper Title Another way is to edit directly the file /atlashome/lardaq/workarea/USA15_EMBA/vxry/databases/hw/Larg.hw.Crate_EMBA0x.data.xml and to duplicate the corresponding lines and change the values in red. <obj class="ConfigurationFile" id="PARAMS_ROD_01"> <attr name="Filename" type="string">"${LARG_CONFIG_PATH}/Rod_01.dat"</attr> </obj> 2.2.2 Duplicate the object PARAMS_TTC_ROD_01@ConfigurationFile Double click on the object you want to duplicate in our case PARAMS_TTC_ROD_01@ConfigurationFile. A window opens. At the top left (paper icon) right click option copy. A requester for the name of the new object appears. Type in the new name or better before using copy select the name of the old object with a simple click on its name in its window( it reverses the colors) and in the requester middle click and just change the number at the end. And. click OK. A new window for the new object opens. Change the Attributes: filename to the new one with right click option set and then OK Another way is to edit directly the file /atlashome/lardaq/workarea/USA15_EMBA/vxry/databases/hw/Larg.hw.data.xml and to duplicate the corresponding lines and change the values in red. <obj class="ConfigurationFile" id="PARAMS_TTC_ROD_01"> <attr name="Filename" type="string">"${LARG_CONFIG_PATH}/RodTTC_01.dat"</attr> </obj> 2.2.3 Duplicate the object ROD_xx@LARG_Module As it has many parameters to change it is easier to duplicate it in the file /atlashome/lardaq/workarea/USA15_EMBA/vxry/databases/hw/Larg.hw.Crate_EMBA0x.data.xml and change the parameters in red there: <obj class="LARG_Module" id="ROD_02_EMBA1"> <attr name="Name" type="string">"ROD_02_EMBA1"</attr> <attr name="Type" type="string">"ROD"</attr> <attr name="Location" type="string">""</attr> <attr name="Description" type="string">""</attr> <attr name="HelpLink" type="string">""</attr> <attr name="InstallationRef" type="string">""</attr> <attr name="State" type="bool">1</attr> <attr name="PhysAddress" type="u32">0x7</attr> <attr name="CommAddress" type="u32">0</attr> <attr name="Position" type="u16">7</attr> <attr name="Width" type="u16">1</attr> <attr name="LogicalId" type="u32">2</attr> <attr name="Model" type="string">"Rod"</attr> <attr name="Monitored" type="bool">0</attr> <attr name="OrderedActions" type="string">""</attr> <attr name="ExtraInformation" type="string" num="0"></attr> <attr name="SerialNumber" type="string">"Unknown"</attr> <rel name="CPUs" num="0"></rel> <rel name="HasConfigurationFile">"ConfigurationFile" "PARAMS_ROD_02_EMBA1"</rel> </obj> where PhysAddress is the physical address in the crate. Position is the slot number. And LogicalId is a number from 1 to 14 going from the left most rod to the right most rod in the crate. 2.2.4 Modify HFEC for TTCrx TO BE DEVELOPED 2.2.5 Save the data file In the main window data files select Larg.hw.Crate_EMBA0x.data.xml and right click option save 23/02/2006 G.Perrot LAPP Page3 Paper Title 3 ROS Creation Edit file home/lardaq/workarea/USA15_EMBA/vxry/databases /segments/Larg.ROS_EMBAx.segment.data.xml and duplicate ROS objects and modify values in red <obj class="InputChannel" id="ROS_EMBA1_Eth_1"> <attr name="Name" type="string">""</attr> <attr name="Type" type="string">""</attr> <attr name="Location" type="string">""</attr> <attr name="Description" type="string">""</attr> <attr name="HelpLink" type="string">""</attr> <attr name="InstallationRef" type="string">""</attr> <attr name="State" type="bool">1</attr> <attr name="Id" type="u32">16041</attr> <attr name="ROLPhysicalAddress" type="u32">10001</attr> <rel name="HW_Object">"" ""</rel> <rel name="MemoryConfiguration">"MemoryPool" "ROS_EMBA1_ChannelMemoryPool"</rel> </obj> Use the description done in chapter eth definition further in this document to fill in ="Id" type="u32">16041<attr> and "ROLPhysicalAddress" type="u32">10001</attr> Also modify the nb of input channels and insert the new input channels <obj class="EthSequentialReadoutModule" id="ROS_EMBA1_EthSequentialReadoutModule"> <attr name="Name" type="string">""</attr> <attr name="Type" type="string">""</attr> <attr name="Location" type="string">""</attr> <attr name="Description" type="string">""</attr> <attr name="HelpLink" type="string">""</attr> <attr name="InstallationRef" type="string">""</attr> <attr name="State" type="bool">1</attr> <attr name="ByteSwapping" type="bool">0</attr> <attr name="PhysicalAddress" type="u32">0</attr> <attr name="InputFragmentType" type="enum">"RODFragment"</attr> <rel name="InputChannels" num="32"> "InputChannel" "ROS_EMBA1_Eth_0" "InputChannel" "ROS_EMBA1_Eth_1" "InputChannel" "ROS_EMBA1_Eth_2" "InputChannel" "ROS_EMBA1_Eth_3" "InputChannel" "ROS_EMBA1_Eth_4" "InputChannel" "ROS_EMBA1_Eth_5" "InputChannel" "ROS_EMBA1_Eth_6" "InputChannel" "ROS_EMBA1_Eth_7" "InputChannel" "ROS_EMBA1_Eth_8" "InputChannel" "ROS_EMBA1_Eth_9" "InputChannel" "ROS_EMBA1_Eth_10" "InputChannel" "ROS_EMBA1_Eth_11" "InputChannel" "ROS_EMBA1_Eth_12" …. "InputChannel" "ROS_EMBA1_Eth_28" "InputChannel" "ROS_EMBA1_Eth_29" "InputChannel" "ROS_EMBA1_Eth_30" "InputChannel" "ROS_EMBA1_Eth_31" "InputChannel" "ROS_EMBA1_Eth_32" </rel> And modify the nb of resources and insert new one. <obj class="Segment" id="ROS_EMBA1"> 23/02/2006 G.Perrot LAPP Page4 Paper Title <attr name="Name" type="string">"ROS_EMBA1"</attr> <rel name="Segments" num="0"></rel> <rel name="UsesObjects" num="0"></rel> <rel name="UsesSystems" num="0"></rel> <rel name="Resources" num="32"> "InputChannel" "ROS_EMBA1_Eth_0" "InputChannel" "ROS_EMBA1_Eth_1" "InputChannel" "ROS_EMBA1_Eth_2" "InputChannel" "ROS_EMBA1_Eth_3" "InputChannel" "ROS_EMBA1_Eth_4" ….. "InputChannel" "ROS_EMBA1_Eth_27" "InputChannel" "ROS_EMBA1_Eth_28" "InputChannel" "ROS_EMBA1_Eth_29" "InputChannel" "ROS_EMBA1_Eth_30" "InputChannel" "ROS_EMBA1_Eth_31" "InputChannel" "ROS_EMBA1_Eth_32" </rel> Edit file /atlas-home/lardaq/workarea/USA15_EMBA/v8r0/database/plugins/Larg.TCPDataOut_EMBAx.data.xmland duplicate the TCP dataout and change values in red. According to the "ROLPhysicalAddress" defined before. <obj class="TCPDataOut" id="Larg_TCPDataOut_EMBA1_1"> <attr name="DestinationNode" type="string">"pc-lar-ros-mbl-03"</attr> <attr name="DestinationPort" type="u32">10001</attr> <attr name="SamplingGap" type="u32">1</attr> <attr name="OutputDelay" type="u32">0</attr> <attr name="TCPBufferSize" type="u32">32768</attr> <attr name="ThrowIfUnavailable" type="bool">0</attr> </obj> 4 Creating a new CPU in OKS Open OKS In subwindow Data Files: right click set active on file ………/database/hw/Larg_computers.data.xml Then double click on same file to have all available cpus. Select a cpu with right click show Then in the upper left corner text icon right click copy Input he name of the new object (CPU name) In the Data: subwindow change Name with its new name with right click set value. Exit of all windows, save database and do not forget to update database before booting.( blue button) 5 Changing the name of the ROD crate CPUs. Open OKS In subwindow data files: Double click on file ………/database/hw/Larg_computers.data.xml On object [Larg_RODC_EMBAx@Computer] right click select In subwindow data files: Double click on file ………/Larg.RODC_EMBAx.segment.data.xml On object [RODC_EMBAx_RunControlApplication] right click show 23/02/2006 G.Perrot LAPP Page5 Paper Title In subwindow Data: go to RunsOn and right click set object Exit of all windows, save database and do not forget to update database before booting.( blue button) 6 Deactivating a Module 6.1 Deactivating a spac master Open OKS In subwindow classes: Double click on IO_Module Double click on the module to deactivate In subwindow Data: right click on button State and select false. Exit of all windows, save database and do not forget to update database before booting.( blue button) 6.2 Deactivating other modules Open OKS In subwindow classes: Double click on LARG_Module Double click on the module to deactivate In subwindow Data: right click on button State and select false. Exit of all windows, save database and do not forget to update database before booting.( blue button) 7 Creating a new database in a new directory for a different partition. 7.1 Create a new directory >mkdir <USA15_EMECC> 7.2 Copy from an old version in another directory >cd <USA15_EMECC> >cp –r ../<USA15_EMBA>v6r1 v1r0 7.3 Configure the environment: >cd v1r0/cmt >nedit requirements& change all references of <USA15_EMBA> to <USA15_EMECC> and save and exit. >cmt config >ss >make update_db 23/02/2006 G.Perrot LAPP Page6 Paper Title 7.4 Update the config in the database: 7.4.1 Update GlobalParams.dat >cd ../database/config nedit GlobalParams.dat & change all references of </USA15_EMBA/v6r1> to </USA15_EMECC/v1r0> and save and exit. 7.4.2 Rename directory containing the crates C1,C2,C3,C4 to reflect name of partition >mv <EMBA> <EMECC> 7.4.3 Update ROSVerify.dat >nedit ROSVerify.dat Change all references of </EMBA/> to </EMECC/>. Change if necessary the rods present "rodVerify:t" "onOff:e" 11111111111110 11111111111110 00000000000000 00000000000000 and save and exit. 7.4.4 Update Injector parameters in all the different injector files >cd INJ >nedit INJ*.dat change all references of </USA15_EMBA/v6r1/> to <USA15_EMECC/v1r0/> 7.4.5 Update all RodVerify_xx.dat in subdirectories EMECC/C1,C2,C3,C4 >cd ../EMECC/C1 >nedit RodVerify*.dat change all references of </EMBA/> to </EMECC/> repeat it for each crate. If necessary also change the connection of injectors outputs to rods input. "SdramVerifyConfig:t" "globalPath:s" "rodPath:s" "InjInput:d[0-disabled;1-5]" "InjPath:s" 23/02/2006 $LARG_CONFIG_PATH/GlobalParams.dat $LARG_CONFIG_PATH/EMECC/C1/Rod_01.dat 10000000 $LARG_CONFIG_PATH/INJ/Inj_01.dat $LARG_CONFIG_PATH/INJ/Inj_01.dat $LARG_CONFIG_PATH/INJ/Inj_01.dat $LARG_CONFIG_PATH/INJ/Inj_01.dat $LARG_CONFIG_PATH/INJ/Inj_01.dat $LARG_CONFIG_PATH/INJ/Inj_01.dat $LARG_CONFIG_PATH/INJ/Inj_01.dat $LARG_CONFIG_PATH/INJ/Inj_01.dat G.Perrot LAPP Page7 Paper Title 7.5 Update the xml files in the database. 7.5.1 Update files in the plugins directory >cd ../../../plugins rename the 4 files with <EMBA> replacing <EMBA> by <EMECC> >nedit *..xml & replace all occurrences of <EMBA> by <EMECC> in Larg.readout_plugins.data.xml change the LARG_DESTINATION_BASE_PORT to have different numbers from original partition. In the Larg.TCPDataOut_EMECC1,2,3,4.data.xml change the number of the ports in agreement with the LARG_DESTINATION_BASE_PORT defined. (In ex replace >100 by >104, 101 by 105 …) 7.5.2 Update files in the segments directory Rename all files with <EMBA>, replacing <EMBA> by <EMECC> In all these files replace <EMBA> by <EMECC> In all the ROS files “change the value of the ROLPhysicalAddress" to correspond to the ports defined in the Larg.TCPDataOut_EMECC1,2,3,4 Also update the port of the LarDataOut You should also modify the “Id" according to the scheme foreseen (see next chapter) 7.5.3 Update files in the partitions directory Edit file Larg.data.xml Replace occurrence of <USA15_EMBA> by <USA15_EMECC> Replace occurrences of <EMBA> by <EMECC> 7.5.4 Update files in the hw directory Edit file Larg.computers.data.xml and replace occurrences of <EMBA> by <EMECC> Also set the correct machine names. Rename all files with <EMBA>, replacing <EMBA> by <EMECC> And replace all occurrences of <EMBA> by <EMECC> in all files. 7.5.5 Change variable LARG_CONFIG_PATH for path to files in class variables Using oks and going into class variables/name LARG_CONFIG_PATH in value, replace occurrence <USA15_EMBAROOT> by <USA15_EMECCROOT> 7.5.6 Change value of detector logical ID In OKS class Detector change logical ID with hex value EMB-A: 41 EMB-C: 42 EMEC-A: EMEC-C: 44 HEC-A: 45 HEC-C: 46 FCAL-A: 47 FCAL-A: 48 7.5.7 Verify VME addresses of TTC modules. As there can be 2 partitions in the same TTC crate, verify that the addresses used by the TTC modules are the one corresponding to the correct partition. oks 23/02/2006 G.Perrot LAPP Page8 Paper Title TTCvi in IO_module Busy module and LTP in Larg_module 7.5.8 Verify that the correct RODs are enabled depending on the nb of modules present in a crate In OKS Larg_Module .There are 14 RODs in each crate in EMB-A, EMB-C, 13 RODs in EMEC-A and EMEC-C, xx RODs in FCAL and xx RODs in HEC. 8 Definition of ETH channels and Ids for the different partitions Each partition is made of a max of 56 channels per crate up to 4 crates for the ROD vme readout plus up to 25 channels (in fact 20) for the communications between robins and the event builder. The proposed scheme is the following Consecutive lots of 100 channels are reserved for each rod crate (56 needed) in each partitions. This is a total of 2400 channels starting at value 10000 EMB-A crate 1, 2, 3, 4 :10000, 10100, 10200, 10300 EMB-C crate 1, 2, 3, 4 :10400, 10500, 10600, 10700 EMEC-A crate 1, 2, 3, 4 : 10800, 10900, 11000, 11100 ( crate 4 doesn’t physically exist but a description is there for compatibility with the other partitions. EMEC-C crate 1, 2, 3, 4 : 11200, 11300, 11400, 11500 ( crate 4 doesn’t physically exist but a description is there for compatibility with the other partitions. FCAL crate 1, 2, 3, 4 : 11600, 11700, 11800, 11900 ( only the first crate physically exists) HEC crate 1, 2, 3, 4 : 12000, 12100, 12200, 12300 ( only the first crate physically exists) For a given crate value increments by one for each channel starting from rod 0 0C 0 up to rod 0 OC 3 then all up to ROD 14 OC 3. For communications between the robins and the event builder Channels would start at 13000 with 100 reserved for each partition. EMB-A:13000 EMB-C 13100 EMEC-A 13200 EMEC-C 13300. FCAL 13400 HEC 13500 For Ids with the ROD readout: EMB-A crate 1, 2, 3, 4 :16040, 16140, 16240, 16340 EMB-C crate 1, 2, 3, 4 :16440, 16540, 16640, 16740 EMEC-A crate 1, 2, 3, 4 : 16840, 16940, 17040, 17140 ( crate 4 doesn’t physically exist but a description is there for compatibility with the other partitions. EMEC-C crate 1, 2, 3, 4 : 17240, 17340, 17440, 17540 ( crate 4 doesn’t physically exist but a description is there for compatibility with the other partitions. FCAL crate 1, 2, 3, 4 : 17640, 17740, 17840, 17940 ( only the first crate physically exists) HEC crate 1, 2, 3, 4 : 18040, 18140, 18240, 18340 ( only the first crate physically exists) For the robin readout: EMB-A:16000 EMB-C 16400 EMEC-A 16800 EMEC-C 17200. FCAL 17600 HEC 18000 23/02/2006 G.Perrot LAPP Page9