7 Creating a new database in a new directory for a different

advertisement
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
Download