L0 Filtering
What is it?
The
L0Filtering application is a simple alignment-task based filtering application which can be run from the PVSS panel, to filter data according to a certain set of L0 thresholds.
How to run the L0 filtering from the PVSS panel
Open the panel from an
ui or
plus machine:
ssh -Y lbgw
ssh -Y ui
/group/online/ecs/Shortcuts311/LHCb/ECS/ECS_UI_FSM.sh
Open the LHCb_Align tree (right click). If the tree is locked, take control (ask permission to the online piquet) by using the grey padlock.
The first action to perform is
take the project: click on the grey open lock and choose "take";
write your name in the appropriate field and click on
Reserve Alignment
so that people know who to contact in case of need.
Then
ALLOCATE LHCb_Align: click on the State menu and select Allocate.
Then you need to include the Storage if it excluded (like in the picture above). Click on the grey open padlock and select "Unlock out" and then "Include".
In case a new Moore version has been released modify it clicking
RunInfo, then click "Creat/Edit" under Trigger Configurations, and change the
MooreOnline Version. Click the button Save.
Select
L0Emulation under
TriggerConfiguration in the
LHCbA:TOP panel if this is not selected already.
Then select the activity
L0 from the menu on the right of the Run Info panel.
Now you should select the run range that you want to filter.
To select the run range, click on the
Choose Runs for Alignmnet button. Select the runs from the list selecting e.g. the activity BWDivision on the top left corner and click
Ok.
To check the run you are interested in, it is useful to consult the run database
here
. To run on 2015 data select all the nobias events from 25ns physics runs on the farm below run 168000 starting at 162530.
Now open the error log to monitor what is going on. On a shell, type:
errorLog LHCbA
Useful commands: Ctrl-S to block the screen, Ctrl-Q to resume, Ctrl-C to close.
You are now ready to start. From the LHCb_Align PVSS panel, click on the menu at the top and choose
CONFIGURE. This can take a few minutes.
If the HLT subtree goes in
ERROR state, you can open it and exclude the nodes or farms in error using the arrows in the
Quick actions panel. To locate the troubling nodes, have a look at the
PARTAlign tree.
Once the top tree is in state
READY, you can click on
Start run. All the farm will go in RUNNING and then will Pause when they are done. Few of them could go into ERROR, it is not a problem, you can recover them when all the other farms go into Pause. When everything finish all the farm should go into READY, as LHCb_Align.
Enjoy
How it is implemented
The archtecture of the application can be seen clicking on
RunInfo from
LHCbA:TOP and then clicking on *View/Edit" below Architectures. On the bottom left corner select the Configuration L0.
It has a structure very similar to HLT2:
The
L0App script is the basically core piece, while the rest is needed to read and store data has the names suggest.
For each of these applications the corresponding .sh files (
L0Reader.sh,
L0App.sh,
L0Sender.sh,
L0MEPInit.sh) can be found in
/group/online/dataflow/cmtuser/OnlineDev_v5r31/Online/FarmConfig/job/
.
The options files (
L0Reader.opts,
L0MEPInit.opts and
L0Sender.opts) can be found in
/group/online/dataflow/cmtuser/OnlineDev_v5r31/Online/FarmConfig/options/
.
The
L0App execute
/group/hlt/MOORE/MooreOnline_v25r1/InstallArea/runL0Online_EFF.sh
, which is created by
/group/hlt/MOORE/MooreOnline_v25r1/MooreScripts/python/MooreScripts/CreateRunEFF.sh
importing
runL0Online.py
in the same directory.
In order to create go to
/group/hlt/sattelite/
and type
./installMoore --scripts --build v25r
The master piece of
LoApp can be found in
/group/hlt/sattelite/MooreOnlinePit_v25r1/MooreOnlineConf/python/MooreOnlineConf/Configuration.py
where the class
L0Online is defined. Here the
TCK and the data type are encoded:
app.TCK = '0x1606'
app.DataType = '2015
Here, the L0 filter is defined. After a change in the
TCK it is important to build again the scripts in
MooreScripts.
How to retrieve the data sample
Right now the files end up on the local disks of the four storerecv
nodes (the same type of nodes as fast farm nodes), with one file per run
on each node.
They cna be found in the directory
/localdisk/L0Emulation/
and it is possible to access them to anyone with online privileges from lbgw connecting to
ssh -Y online@storerecv01
(or 02, 03 and 04.
From there they can be copied in any position using the script
CopyData.py
in
/Hlt/HltPiquetScripts/
scripts
source_dir = '/localdisk/L0Emulation'
runs = get_runs(nodes[0], 162421, source_dir)
dest_dir = '/localdisk/hlt1/yourname/tckname'
Then, from this dest_dir, the files should be merged before being copied to EOS.
--
FrancescaDordei - 2016-04-01