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


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 smile

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

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng align_panel.png r1 manage 82.0 K 2016-04-01 - 18:32 FrancescaDordei  
PNGpng architecture.png r1 manage 25.1 K 2016-04-01 - 18:31 FrancescaDordei  
JPEGjpg filtering.jpg r1 manage 143.7 K 2016-04-01 - 16:27 FrancescaDordei  
PNGpng hlt.png r1 manage 140.3 K 2016-04-01 - 18:37 FrancescaDordei  
PNGpng run_number.png r1 manage 29.8 K 2016-04-01 - 18:31 FrancescaDordei  
Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2016-04-15 - FrancescaDordei
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback