CM20 Vassil Verguilov DAQ Software Status  DATE Readout  Data Decoding  Data Monitoring  Next steps  Summary.

Slides:



Advertisements
Similar presentations
MPI Message Passing Interface
Advertisements

Kondo GNANVO Florida Institute of Technology, Melbourne FL.
Slink TX Slink merger Teststand setup Slink merger firmware and testing Firmware features - DAQ RAMs for saving out input and output data - Possible to.
PASSING PARAMETERS 1. 2 Parameter Passing (by Value) Parameters Formal Parameters – parameters listed in the header of the function Variables used within.
UNIX Process Control Bach 7 Operating Systems Course Hebrew University Spring 2007.
Tracker DAQ Makoto Yoshida (Osaka Univ.) MICE Frascati 2005/6/27.
Command-line arguments CS 201 Fundamental Structures of Computer Science.
Overview creating your own functions calling your own functions.
Online Reconstruction Update Linda R. Coney UCR Dec 17, 2009.
Linda R. Coney – 24th April 2009 Online Reconstruction & a little about Online Monitoring Linda R. Coney 18 August, 2009.
MICE CM Berkeley 9-12 Feb February 2005 Edda Gschwendtner 1 Control/Monitoring and DAQ for PIDs Edda Gschwendtner.
Linda R. Coney – 24th April 2009 Online Monitoring and Reconstruction Linda R. Coney 4 June, 2009.
MICE CM17 Feb 07Jean-Sébastien GraulichSlide 1 Detector DAQ Status o Since CM16 o Detector DAQ software o Front End Electronics o Schedule Milestones o.
Review on pointers and dynamic objects. Memory Management  Static Memory Allocation  Memory is allocated at compiling time  Dynamic Memory  Memory.
1 The UNIX date command myclock.cpp example The C/C++ time() and ctime() functions myclock2.cpp example Inline function definitions Inline class member.
VC MICO Report July 07Jean-Sébastien GraulichSlide 1 Main news  DAQ test bench running in Geneva 2 LDCs connected to 2 different PCs, 1 GDCs DAQ trigger.
Modular Programming Chapter Value and Reference Parameters computeSumAve (x, y, sum, mean) ACTUALFORMAL xnum1(input) ynum2(input) sumsum(output)
February 11, 2005 More Pointers Dynamic Memory Allocation.
DAQ MICO Report Online Monitoring: –Status All histograms are now implemented Still not fully online –Only monitoring from data file (slightly offline,
MICE CM25 Nov 2009Jean-Sebastien GraulichSlide 1 Detector DAQ Issues o Achievements Since CM24 o Trigger o Event Building o Online Software o Front End.
MICE CM16 Oct 2006Jean-Sébastien GraulichSlide 1 Detector DAQ Status o Since CM15 o Detector DAQ software o Interface DDAQ / Mice Control & Monitoring.
Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.
DC12 Commissioning Status GOALS: establish operating conditions, determine initial calibration parameters and measure operating characteristics for the.
Online data format 2008 July 28. Event header Pedestal Hit data (Cable/T/Q) TRG info. Software Trig. info. Pedestal Event header Pedestal Hit data (Cable/T/Q)
Melinda Siciliano Università degli Studi di Torino SDD Raw Data Decoding.
ALICE Computing Model The ALICE raw data flow P. VANDE VYVRE – CERN/PH Computing Model WS – 09 Dec CERN.
Introduction Advantages/ disadvantages Code examples Speed Summary Running on the AOD Analysis Platforms 1/11/2007 Andrew Mehta.
C++ Functions. Objectives 1. Be able to implement C++ functions 2. Be able to share data among functions 2.
DANA uses a factory model to deliver data “just in time”
MICO July 07Jean-Sébastien GraulichSlide 1 Detector DAQ Status o Overview – Hardware status o Installation at RAL o DAQ workshop o Current Activities Jean-Sebastien.
Features of the new Alibava firmware: 1. Universal for laboratory use (readout of stand-alone detector via USB interface) and for the telescope readout.
C++ Streams Lecture-2. C++ Streams Stream  A transfer of information in the form of a sequence of bytes I/O Operations:  Input stream: A stream that.
Lecture 6 C++ Programming Arne Kutzner Hanyang University / Seoul Korea.
News on GEM Readout with the SRS, DATE & AMORE
Online Reconstruction 1M.Ellis - CM th October 2008.
DAQ Status for cosmic-ray test in RAL Hideyuki Sakamoto MICE Phone meeting 12 th July 2007 Contents Status Setup for cosmic-ray test bench Schedule.
MICE CM January 2009Jean-Sébastien GraulichSlide 1 Detector DAQ Issues o Achievements Since CM23 o Detector DAQ o Trigger o Online Software o Front End.
Linda R. Coney – 5 November 2009 Online Reconstruction Linda R. Coney 5 November 2009.
SoLiD/PVDIS DAQ Alexandre Camsonne. DAQ limitations Electronics Data transfer.
MICE CM28 Oct 2010Jean-Sebastien GraulichSlide 1 Detector DAQ o Achievements Since CM27 o DAQ Upgrade o CAM/DAQ integration o Online Software o Trigger.
CM19 Vassil Verguilov DAQ Status  Progress  DAQ  Next steps  Summary.
Paul Scherrer Institut 5232 Villigen PSI ROME / / Matthias Schneebeli ROME Root based Object oriented Midas Extension Presented by Matthias.
CS Class 15 Today  More practice with arrays  Introduction to Multi-dimensional arrays Announcements  Programming project #4 due 10/23 by midnight.
April 11, 2005 More about Functions. 1.Is the following a function call or a function header? calcTotal(); 2.Is the following a function call or a function.
ARCHITECTURE. PRR November x 32 PADs Up to 26 or 3 x 17 MANU BOARD. PATCH BUS Translator Board. FEE DETECTOR Up to 100 PATCH BUS per detector. MANU.
Think First, Code Second Understand the problem Work out step by step procedure for solving the problem (algorithm) top down design and stepwise refinement.
Tracker Cosmic Ray Test 2011 Linda R. Coney UC Riverside CM 29 - February 16, 2011.
October Test Beam DAQ. Framework sketch Only DAQs subprograms works during spills Each subprogram produces an output each spill Each dependant subprogram.
Overview of PHENIX Muon Tracker Data Analysis PHENIX Muon Tracker Muon Tracker Software Muon Tracker Database Muon Event Display Performance Muon Reconstruction.
CSE202: Lecture 13The Ohio State University1 Function Scope.
Fundamental Programming Fundamental Programming Introduction to Functions.
Straw VME Data Monitoring M. Koval Straw WG meeting
MICE CM February 08Jean-Sébastien GraulichSlide 1 Report on DAQ & CAM o Detector DAQ Status Hardware Trigger Software o Controls and Monitoring (CAM) o.
StEvent I/O Model And Writing a Maker Or How to Add a New Detector Akio Ogawa BNL 2003 Nov Dubna.
Station Acceptance Test. 22/02/2007 M. Takahashi 2 Lab Layout at IC.
1 DATE-based DAQ Hideyuki Sakamoto CM22, RAL 19/10/08.
Integration with ATLAS DAQ Marcin Byszewski 23/11/2011 RD51 Mini week Marcin Byszewski, CERN1.
David Lawrence JLab May 11, /11/101Reconstruction Framework -- GlueX Collab. meeting -- D. Lawrence.
Scalable Readout System Data Acquisition using LabVIEW Riccardo de Asmundis INFN Napoli [Certified LabVIEW Developer]
Tracker readout, DAQ, C&M and calibration
Chapter 6 CS 3370 – C++ Functions.
Jean-Sebastien Graulich, Geneva
Command Line Arguments
mmDAQ (Muon Atlas MicroMegas Activity – ATLAS R&D)
Hideyuki Sakamoto CM22, RAL 19/10/08
Screen output // Definition and use of variables
CLAS12 Timing Calibration
Code::Block vs Visual C++
ALICE Data Challenges Fons Rademakers Click to add notes.
Fundamental Programming
Presentation transcript:

CM20 Vassil Verguilov DAQ Software Status  DATE Readout  Data Decoding  Data Monitoring  Next steps  Summary

CM20 Vassil Verguilov - DAQ Software Status DATE Data Readout DATE readout code completed for the fADC (CAEN V1724) New fADC firmware from CAEN –Zero Suppression implemented –The fADC can acquire more then 1 trigger per event Data taking process is tested with cosmics

CM20 Vassil Verguilov - DAQ Software Status Data Unpacking … DAQ Event N+1 Payload … DAQ Event N+1 GDC Header DAQ Event N Payload … DAQ Event N GDC Header … Run File … LDC J+1 Payload … LDC J+1 Header LDC J Payload … LDC J Header … (Super-) Event … Particle Event M+1 Data: Board Manufacturer Format Particle Event M Data: Board Manufacturer Format … Event Fragment … Equipment K+1 Payload Equipment K+1 Header Equipment K Payload Equipment K Header … (Sub-) Event

CM20 Vassil Verguilov - DAQ Software Status DATE Event header Format Event Header Event Size Sync. Word Header Size Header Version EventType RunNb Event Id[0] Event Id[1] TriggerPattern[0] TriggerPattern[1] DetectorPattern[0] DetectorPattern[1] Attribute[0] Attribute[1] Attribute[2] LDC Id GDC Id TimeStamp[0] TimeStamp[1] Same header for Super- and Sub-Events (only the attribute value is different)

CM20 Vassil Verguilov - DAQ Software Status DATE Equipment Header Format Equipment Data Size Equipment Type Equipment User Id Equipment Attribute[0] Equipment Attribute[1] Equipment Attribute[2] Equipment Word Size Equipment Header Conventional Table of Equipment Type: Random Generator0 Sclaer V VLSB104 fADC V Trailer110 TDC V Trigger Receiver101 V EquipmentType

CM20 Vassil Verguilov - DAQ Software Status Particle Data Format Example - CAEN V1290 TDC Event Count (starting at 0)GEO Address 00000TChannel NbTime Data … …Variable Number of hits… … 00000TChannel NbTime Data 10000StatusWord CountGEO Address TDC V1290 … Particle Event M Data: Board Manufacturer Format Particle Event M+1 Data: Board Manufacturer Format … Data Word Type T = 1 for Trailing Edge Measurement Data

CM20 Vassil Verguilov - DAQ Software Status Data Unpacking Classes MDdataContainer MDpartEventV1290 MDeventFragmentMDdataWord ( _size = 4 ) MDdataWordV1724MDdataWordXXX Each class - Has its own unpacking member functions - Has a Dump() virtual member function MDdataWordV1290 MDpartEventV1724 MDpartEventXXX

CM20 Vassil Verguilov - DAQ Software Status Data Unpacking Classes MDdataContainer - base class for all MDdataWord - base class for all ( SetDataWord( void * d) ) MDdataWordXXX - classes implementing the data format (at word-level) of each equipment –MDdataWordV1724: GetSample –MDdataWordV1290: GetMeasurement, GetChannel, GetTDC, GetError, GetWordCount, GetBunchID, GetEventID MDpartEventXXX - classes manipulating the data (at event level) from each equipment using corresponding MDdataWordXXX class –MDpartEventV1724: GetPattern, GetChannelMask, GetTriggerTimeTag, GetSampleData –MDpartEventV1290: GetHitMeasurement, GetHitType, GetHitChannel, GetNHits MDeventFragment - container for the particle events MDequipMap - Class using a hash to determine which object (MDpartEventXXX) can decode specific event, based on the Equipment Id of the event MDdateFile - IO routines for the DATE raw data file

CM20 Vassil Verguilov - DAQ Software Status Data Dump Example #include #include "MDevent.h” #include "event.h” #include "MDdateFile.h” using namespace std; /* Simple main */ int main( int argc, char **argv ) { MDevent mdEvent; MDdateFile dFile("59","/data/mice"); char *eventBuffer; unsigned int eventCount(0); if ( dFile.OpenFile() == DATE_FILE_OK ) { while ( eventBuffer = dFile.GetNextEvent() ) { cout << "Event Count : " << eventCount++ << endl; char* ptr = eventBuffer; mdEvent.SetDataPtr(ptr); mdEvent.Dump(); } } else { cout << "Error in opening the file. Aborted." << endl; } return 0; } /* End of main */ No dependency from DATE! (uses only event.h)

CM20 Vassil Verguilov - DAQ Software Status Data Dump Example MDeventFragment Dump Size:28 (header:28) Type:110 EquipId:0 BasicSize:0 Attributes: ( ) Event Count : MDevent Dump Size:8416 (header:68) Version:0x Type:PhysicsEvent runNb:96 nbInRun:2 burstNb:0 nbInBurst:0 ldcId:1 gdcId:VOID time:Thu Feb 7 02:43: Attributes:noAttr ( ) triggerPattern: detectorPattern: [invalid] MDeventFragment Dump Size:32 (header:28) Type:101 EquipId:0 BasicSize:4 Attributes: ( ) 0) (....) MDeventFragment Dump Size:52 (header:28) Type:102 EquipId:10 BasicSize:4 Attributes: ( ) Decoding equipment V1290 CAEN V1290 Global Header : Event Count : 1; Geo Address : 0 CAEN V1290 Leading edge Measurement: ; Channel: 1 CAEN V1290 Leading edge Measurement: ; Channel: 0 CAEN V1290 Trailing edge Measurement: ; Channel: 1 CAEN V1290 Trailing edge Measurement: ; Channel: 0 CAEN V1290 Global Trailer : Word Count : 6; Geo Address : MDeventFragment Dump Size:8236 (header:28) Type:120 EquipId:120 BasicSize:4 Attributes: ( ) Decoding equipment V1724 Init ch 0 : 100 ; 0x83b86ec Init ch 1 : 100 ; 0x83b8aec Init ch 2 : 100 ; 0x83b8eec Init ch 3 : 100 ; 0x83b92ec Init ch 4 : 100 ; 0x83b96ec Init ch 5 : 100 ; 0x83b9aec Init ch 6 : 100 ; 0x83b9eec Init ch 7 : 100 ; 0x83ba2ec CAEN V1724 Header Word Count : 2052 Geo : 0 ; ZLE disabled ; Channel Mask : 0xff Event Counter : 3 Trigger Time Tag : End of CAEN V1724 Header Channel 0 ( Length = 256 ) CAEN V1724 Data: 8423 ; 8424 CAEN V1724 Data: 8424 ; 8421 CAEN V1724 Data: 8422 ; 8422 CAEN V1724 Data: 8424 ; 8422 CAEN V1724 Data: 8420 ; 8422 CAEN V1724 Data: 8420 ; 8424 CAEN V1724 Data: 8422 ; 8424 CAEN V1724 Data: 8426 ; 8424 CAEN V1724 Data: 8423 ; 8422

CM20 Vassil Verguilov - DAQ Software Status Data Monitoring Classes MDHistogramManager MDHistogramMap MDHistogram MDHistogramV1724MDHistogramV1290

CM20 Vassil Verguilov - DAQ Software Status Data Monitoring Classes MDHistogram - base abstract class for all the equipment histograms MDHistogramXXX - classes for creating histograms depending on the equipment type. –MDHistogramV1290: Creates 5 types of histograms –MDHistogramV1724: Creates 1 type of histogram MDHistogramMap - Manipulates a hash which contains 2 parameters - equipment type id (integer) and corresponding class, manupulating the equipment data. MDHistogramManager - manages the MDHistogramXXX classes and save the histograms to ROOT file. The classes are ROOT dependant and use the Data Decoding Classes

CM20 Vassil Verguilov - DAQ Software Status Data Monitoring Simple Application - Flow Chart

CM20 Vassil Verguilov - DAQ Software Status Data Monitoring Simple Application #include #include "MDevent.h” #include "MDHistogramV1290.h” #include "MDdateFile.h” #include "MDHistogramManager.h” int main(){ MDdateFile dFile( "96","/data/mice" ); if ( dFile.OpenFile() == DATE_FILE_OK ) { MDHistogramManager HistoManager( "histo76.root" ); MDevent DaqEvent; unsigned int eventCount( 0 ); while ( char * ptr = dFile.GetNextEvent() ) { cout << "Processing event " << dec << eventCount++ << "..." << endl; HistoManager.Process( (unsigned char *) ptr ); cout << "Done." << endl << endl; } } else { cout << "Error opening the file. Aborted." << endl; } return 0; }

CM20 Vassil Verguilov - DAQ Software Status TDC Sample Histogram

CM20 Vassil Verguilov - DAQ Software Status fADC Sample Histogram

CM20 Vassil Verguilov - DAQ Software Status Next Steps Optimize DATE readout code Implement ZS for the fADC Read all the readout parameters from DATE database Read the monitoring data remotely in real-time Automatic installation system for the DAQ PCs

CM20 Vassil Verguilov - DAQ Software Status Summary DAQ DATE Readout is finished Framework for data decoding is created Basic monitoring classes are developed Data readout, decoding and monitoring are tested with real data