AGATA Local Level Processing Present implementation Daniele, Dino, Enrico, Francesco.

Slides:



Advertisements
Similar presentations
Part IV: Memory Management
Advertisements

Advance Gamma Tracking Array AGATA Dino Bazzacco INFN Padova Part 1: Review of AGATA Part 2: Data Processing EGAN school 2011, December 5 - 9, 2011, Liverpool.
Advanced GAmma Tracking Array
ARM-DSP Multicore Considerations CT Scan Example.
Coupling an array of Neutron detectors with AGATA The phases of AGATA The AGATA GTS and data acquisition.
DSP online algorithms for the ATLAS TileCal Read Out Drivers Cristobal Cuenca Almenar IFIC (University of Valencia-CSIC)
Readout of TPC with modified ALICE electronics details of current version and pending items ALICE overview New software based on homemade partly existing.
16/27/2015 3:38 AM6/27/2015 3:38 AM6/27/2015 3:38 AMTesting and Debugging Testing The process of verifying the software performs to the specifications.
Java Review 2 – Errors, Exceptions, Debugging Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Guide To UNIX Using Linux Third Edition
GLAST LAT ProjectOnline Peer Review – July 21, Integration and Test L. Miller 1 GLAST Large Area Telescope: I&T Integration Readiness Review.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
GODIAN MABINDAH RUTHERFORD UNUSI RICHARD MWANGI.  Differential coding operates by making numbers small. This is a major goal in compression technology:
UPC/SHMEM PAT High-level Design v.1.1 Hung-Hsun Su UPC Group, HCS lab 6/21/2005.
Emlyn Corrin, DPNC, University of Geneva EUDAQ Status of the EUDET JRA1 DAQ software Emlyn Corrin, University of Geneva 1.
Gretina data flow and formats Chris Campbell LBL.
06/15/2009CALICE TB review RPC DHCAL 1m 3 test software: daq, event building, event display, analysis and simulation Lei Xia.
The GammaWare package Olivier Stézowski (on behalf of the Data Analysis Team) Data Analysis Workshop, Legnaro, November (including ADF)
Enabling the ARM Learning in INDIA ARM DEVELOPMENT TOOL SETUP.
Test Of Distributed Data Quality Monitoring Of CMS Tracker Dataset H->ZZ->2e2mu with PileUp - 10,000 events ( ~ 50,000 hits for events) The monitoring.
22 Feb 2005AGATA Week1 David Radford ORNL Signal Decomposition Algorithm for GRETINA.
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
Group Electronique Csnsm AGATA SLOW CONTROL MEETING 19th fev AGATA PROJECT PREPROCESSING MEZZANINE SLOW CONTROL GUI FOR THE SEGMENT AND THE CORE.
IT253: Computer Organization Lecture 3: Memory and Bit Operations Tonga Institute of Higher Education.
Teams: Simulation of key experiments Gamma-ray tracking Data analysis Databases Simulation and Data Analysis Working Group Department of Radiation Sciences.
Coupling Neutron Detector array (NEDA) with AGATA The AGATA Front-End processing Electronics & DAQ The AGATA Trigger and Synchronization (GTS) Coupling.
G. Maron, Agata Week, Orsay, January Agata DAQ Layout Gaetano Maron INFN – Laboratori Nazionali di Legnaro.
Wolfram KORTEN, JRA-02 AGATAEURONS PCC-Meeting, Mainz (Germany), April 2006 Status of the AGATA project Recent developments Milestones and deliverables.
David N. Brown Lawrence Berkeley National Lab Representing the BaBar Collaboration The BaBar Mini  BaBar  BaBar’s Data Formats  Design of the Mini 
Real data reconstruction A. De Caro (University and INFN of Salerno) CERN Building 29, December 9th, 2009ALICE TOF General meeting.
Getting Started with MATLAB 1. Fundamentals of MATLAB 2. Different Windows of MATLAB 1.
Algorithms & Flowchart
Summary talk of Session 6 - Electronics and Interfacing to AD DAQ - Mechanics for the Demonstrator for the AD ancillary detector integration team: for.
Clara Gaspar, March 2005 LHCb Online & the Conditions DB.
NA62 Trigger Algorithm Trigger and DAQ meeting, 8th September 2011 Cristiano Santoni Mauro Piccini (INFN – Sezione di Perugia) NA62 collaboration meeting,
CE Operating Systems Lecture 13 Linux/Unix interprocess communication.
AMB HW LOW LEVEL SIMULATION VS HW OUTPUT G. Volpi, INFN Pisa.
QCAdesigner – CUDA HPPS project
Online Reconstruction 1M.Ellis - CM th October 2008.
TB1: Data analysis Antonio Bulgheroni on behalf of the TB24 team.
NetLogger Using NetLogger for Distributed Systems Performance Analysis of the BaBar Data Analysis System Data Intensive Distributed Computing Group Lawrence.
DEPARTEMENT DE PHYSIQUE NUCLEAIRE ET CORPUSCULAIRE JRA1 - Data Acquisition Status Report Daniel Haas DPNC Genève Extended SC Meeting 1 Sep 2008.
DATA PROCESSING Working Group Digitisation P. Medina Pre-processing hardware I. Lazarus Pre-processing algorithms W. Gast Global Trigger and SynchronisationM.
The High Performance Simulation Project Status and short term plans 17 th April 2013 Federico Carminati.
 Digitisation P.Medina  Pre-processing I.Lazarus GTSM.Bellato GTSM.Bellato  PSA P.Desesquelle R.Gernhäuser 7 th AGATA Week, Uppsala, July 8-11, 2008.
21 September 2012 GRETINA SWG GRETINA SWG Meeting Carl Lionberger LBNL GRETINA DAQ Implementation.
Online Monitoring System at KLOE Alessandra Doria INFN - Napoli for the KLOE collaboration CHEP 2000 Padova, 7-11 February 2000 NAPOLI.
 Number of signals used  Type of signals  Tests with regular and irregular grids  Last results  New idea for minimization function Roberto Venturelli.
1 Level 1 Pre Processor and Interface L1PPI Guido Haefeli L1 Review 14. June 2002.
LKr readout and trigger R. Fantechi 3/2/2010. The CARE structure.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary Copyright © 2009 Ericsson, Made available under the Eclipse Public License.
PSA: ADAPTIVE GRID SEARCH The Method Experimental Results Optimization aspects Roberto Venturelli (INFN Padova - IPSIA “Giorgi” Verona) SACLAY, 05-may-06.
Analysis experience at GSIAF Marian Ivanov. HEP data analysis ● Typical HEP data analysis (physic analysis, calibration, alignment) and any statistical.
SiD Workshop, Boulder 2008Dmitry Onoprienko SiD Workshop Boulder, September 2008 Dmitry Onoprienko Kansas State University Update on tracker hit processing.
The Speech Solution BABEL DEMONSTRATOR RESPITE PROJECT.
AliRoot survey: Reconstruction P.Hristov 11/06/2013.
FTK high level simulation & the physics case The FTK simulation problem G. Volpi Laboratori Nazionali Frascati, CERN Associate FP07 MC Fellow.
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
Advanced Gamma Tracking Array Andy Boston The Advanced Gamma Tracking Array
THIS MORNING (Start an) informal discussion to -Clearly identify all open issues, categorize them and build an action plan -Possibly identify (new) contributing.
JEDI polarimetry – Developments at SMART|EDM_Lab
AGATA Pulse Shape Analysis Implementation
Digital readout architecture for Velopix
Dino Bazzacco INFN Padova
Controlling a large CPU farm using industrial tools
Analysis framework - status
Status of n-XYTER read-out chain at GSI
Adapted from D. Bazzacco 2012 EGAN school lecture
Implementation of DHLT Monitoring Tool for ALICE
Presentation transcript:

AGATA Local Level Processing Present implementation Daniele, Dino, Enrico, Francesco

Structure of EDAQ Detector preamps Digitisers Tracking Control, Storage… Event Builder/Merger Pre-processing PSA Core + 36 seg. Gobal Trigger Clock 100 MHz T-Stamp Ancillary Detectors Ancillary Global Level Detector Level

Goals of the local level processing Manage all processing that is done on the germanium detectors –Readout the front end electronics Local event builder to merge the data of master and slave ATCA carrier cards Write the events into Crystal Frame –Preparation of data: -> calibrations, cross-talk corrections, timing,… –Pulse Shape Analysis –Tracking (formally part of the global level processing)

Implementation issues Extremely difficult to write programs in a distributed parallel environment as Narval –Almost no debugging tools (up to printouts) Joa Ljungvall has developed an emulator (C_Test) based on shared libraries loaded at runtime (like in narval)  major step forward allowing the the use of debug and profiling tools (gdb, valgrind, KDevelop…) Two-class approach: –Most usual tasks (set-up and decoding/recoding of the events from/to adf frames ) taken up by the mother class –algo-specific parts (e.g. PSA, Tracking) can be done by an inherited class that re-implements the Process() virtual method –The driver program (“Narval emulator”) loads the shared libraries and takes care of passing the data from Based on this, a self contained emulator was developed locally with the driver program (WinCtest) extended to handle several crystals in parallel, an event builder and a (pseudo) merger for ancillary data

Emulator WinCtest Written using the free Microsoft IDE Visual Studio Express by (mainly because of its excellent Debugger) Runs on Cygwin and GNU Linux using the gcc toolchain –The makefiles for Linux produce the libXXX.so used in Narval Multi-core CPUs exploited using threads provided by the Boost library (version > 1.35) Joa’s C_Test is still used as a final test before going to Narval  Don’t use the emulator if you analyse more then 1 ATC  Install and learn to use Narval

Organization of directories source code narval_emulator misc_actors1 filters filters/Preprocessing WinCtest environment variable ADF_CONF_PATH Still using a “local” version of ADF

Readout CrystalProducer/CrystalProducerATCA The main problem to solve was the readout of the master and slave ATCA cards in such a way that they do not block each other –Readout performed by 2 independent threads and bounded buffers (ring buffers) –Synchronization with the main program done using mutex and conditions All this can be excluded when reading data from files (by not defining the USETHREADS symbol) The local event builder is derived from previous work done to merge the 10 TNT2 digitizers used previously as DAQ of a single crystal The events are formatted into an ADF data:crystal frames Estimated readout is ~50 kevents/s (not using adf methods), which is the design goal of AGATA This is still a Mother-Daughter class approach but will probably be merged into a single class as it is unlikely to be changed much The original data can be written to disk and replayed with the same program –Very useful to develop and debug the programs –Usually we write the locally merged data –This is the bottleneck of the whole processing chain  1 event = 14 kiB Used also to read ancillary data (DANTE) in the 2009-week27 test

Preprocessing PreprocessingFilter/PreprocessingFilterPSA Decoding and recoding of events done by the mother class using the ADF methods (decoding the input could be done without) Data processing (Process method) is done in the daughter class, also heavily based on previous work with the single crystal –Energy calibrations and cross-talk corrections –Calibration and xTalk coefficient produced automatically by a set of program and procedures prepared by Francesco. –Baseline removal and energy calibration of traces (no cross talk correction yet) –Digital CFD applied to the core to better determine T0 Loss of efficiency at low energy (which we tried to avoid in the front end electronics by using a LE discriminator) All traces are shifted event-by-event by the same (integer) amount The subsample interpolation of T0 passed to the PSA but not presently used –Several Energy and Time spectra displayed with GRU or saved to disk in a flat binary format. The output format is data:ccrystal frames with 80 samples as 4-byte floats instead of the original byte shorts –~same size as input Estimated throughput is 5 kevents/s/process –xTalk correction of traces could slow down significantly

PSA PSAFilter/PSAFilterGridSearch Input data decoded to local structures using adf methods Grid Search algo by Roberto Venturelli ported originally to the the daughter class by Joa –Reads the signal basis (binary format) in the initialization phase –Multi-segment events are decomposed in single-segment hits –Assumes only 1 interaction in the hit segments –Does not (normally) use the net-charge signal but only nearest neighbours in the search –The actual grid search can done in parallel either by multiple instances of the actor (Narval feature) or by assigning it to worker threads running in one process – ~0.5 kevents/s/core with the full search – ~4 kevents/s/core with a 2-steps search –Several spectra or matrices to be displayed with ViGRU or written as flat binaries to disk. Output data formatted as data:psa frames (~200 B/hit which could be reduced a lot by using float instead of double and removing the errors which are not calculated by this algorithm)

Ancillary readout AncillaryProducerTCP Written by Enrico Calore –TCP server using the skstream –Non blocking –Data formatted as data:ranc0 (a plain array of integer numbers plus timestamp and event number in the key part of the frame) –Not using ADF –Original data can be saved to disk and replayed like for the CrystalProducers

Ancillary processing AncillaryFilter/AncillaryFilterDante Developed first for Dante (data taken with the AGATA electronics) Being extended now by Daniele and Enrico for PRISMA Mother-daughter structure similar to the other actors –Decoding from ADF data:ranc0 frames done by the SetInput() in the mother class –Analysis done by Process() in the daughter class Calibrations analysis of DANTE to obtain the recoil velocity vector (in the AGATA reference frame) analysis of PRISMA to select reaction channel and determine velocity vector in the PRISMA/AGATA reference frame –Coding back to data:ranc1 done by SetOutput() in the mother class  Francesco has added the possibility to write the data into raw binary files or a root tree This is the most variable part of the online libraries and needs to be organized carefully

EventBuilder C++ version to emulate the Narval (ADA) event builder written by Xavier Grave –Builds events using timestamp or event number –Data formatted as event:data:psa –For ancillaries: First, data:ranc1 frames are packed together with data:psa frames into event:data:psa Then a merger function is called to reformat the event:data:psa frame into an event:data frame, containing the event:data:psa and the data:ranc1 frames The ancillary part is enabled by the AddMerger keyword in the setup-file EventBuilder.conf

Tracking TrackingFilter/TrackingFilterOFT Mother class in charge of set-up and decoding (SetInput) and recoding (SetOutput) Orsay Forward Tracking implemented in the daughter class (Process methods) This actor is presently used also to control the experiment/analysis but this stuff should be moved to other actors (e.g. PreTracking and PostTracking) or to the watchers With 2 ATCs can handle ~2 kevents/second/process  Should run multiple instances in parallel (Narval)

Organization directories data taking and offline analysis zCurrentNarvalDataDir Data Out ConfConf/1R Conf/Ancillary Standardized names for directories and (most of the) configuration files Should introduce environment variables to point to the actual directories

Topology for 2 ATCs + Ancillary Chain 31R/ Producer CrystalProducerATCA FilterPreprocessingFilterPSA FilterPSAFilterGridSearch Chain 3 1G/ Producer CrystalProducerATCA Filter PreprocessingFilterPSA Filter PSAFilterGridSearch Chain 3 1B/ Producer CrystalProducerATCA Filter PreprocessingFilterPSA Filter PSAFilterGridSearch Chain 32R/ Producer CrystalProducerATCA Filter PreprocessingFilterPSA Filter PSAFilterGridSearch Chain 3 2G/ Producer CrystalProducerATCA Filter PreprocessingFilterPSA Filter PSAFilterGridSearch Chain 3 2B/ Producer CrystalProducerATCA Filter PreprocessingFilterPSA Filter PSAFilterGridSearch Chain 2./ Builder EventBuilder Filter TrackingFilterOFT ~3 GiB of memory needed Make your tests with 1 or 2 crystals and run the real analysis in Narval