The GLAST online software Gamma-ray Large Area Space Telescope Luca Latronico Glast Italia software meeting Udine 31-31/1/2003 what is the online software in GLAST LAT hardware and DAQ core software architecture (class hierarchy) DAQ/online roadmap: use and evolution of the software tools (Python, Qt, Hippodraw) some tkr preliminary examples/results afternoon tutorial Luca Latronico Glast italian software meeting, Udine 01/30/2003 Online software – what is it for? Electronics detector performance: tracks, hits, events Data AcQuisition: •test LAT hdw •calibration •environmental data monitoring (T,I,V) •data taking Required tools: Drivers to electronics Test scripts User GUIs Data analysis Visualization tools Online and Electronics Ground Support Equipment (EGSE) Subsystems (TKR, CAL, ACD) – LAT Integration and Test Mission operation – flight software Our definition of online: DAQ and monitoring on the ground prior to launch No interference with flight software developement …. but …. Luca Latronico Glast italian software meeting, Udine 01/30/2003 Online software – how is it made Online software: Python scripts Qt GUIs HippoDraw Low-level drivers Compiled C code hardware Flight software Compiled C code Luca Latronico Low-level drivers Compiled C code Glast italian software meeting, Udine 01/30/2003 GLAST Instrument: the Large Area Telescope (LAT) Tracker • Array of 16 identical “Tower” Modules, each with a tracker (Si strips) and a calorimeter (CsI with PIN diode readout) and DAQ module. • Surrounded by finely segmented ACD (plastic scintillator with PMT readout). Grid DAQ Electronics Luca Latronico ACD Calorimeter Thermal Blanket • Aluminum strong-back “Grid,” with heat pipes for transport of heat to the instrument sides • high modularity Glast italian software meeting, Udine 01/30/2003 GLAST Tracker Design Overview • 16 “tower” modules, each with 37cm 37cm of active cross section One Tracker Tower Module • 83m2 of Si in all, like ATLAS • 11500 SSD, ~ 1M channels • 18 x,y planes per tower – 19 “tray” structures • 12 with 3% r.l. W on top (“Front”) • 4 with 18% r.l. W on bottom (“Back”) SuperGlast • 3 with no converter foils (3-in-a-row L1T) – Every other tray is rotated by 90°, so each W foil is followed immediately by an x,y plane of detectors Carbon • 2mm gap between x and y oriented detectors thermal • Trays stack and align at their corners panel • The bottom tray has a flange to mount on the grid. • Electronics on sides of trays: – Minimize gap between towers Electronics – 9 readout modules on each of 4 sides • high modularity Luca Latronico flex cables Glast italian software meeting, Udine 01/30/2003 Tracker tower read-out architecture • 24 64-channels CMOS VLSI (custom ASIC ) readout chips handle a single detector layer • data can shift left/right with a read-out controller (custom ASIC CMOS) at each end at 20 MHz clock frequency • Fast-OR signals also move l/r or in both directions • A single dead chip can be bypassed without losing data from any other chips • Complete 0-suppression and formatting takes place in the controller chips, i.e. fully digital output • The read-out controller pass data down a tower in a token-controlled protocol Luca Latronico simplified block diagram of the GLAST TKR readout Glast italian software meeting, Udine 01/30/2003 Tracker front-end electronics miniMCM 7 GTFE 2 GTRC tray with full-size MCM 24 encapsulated FE 2 encapsulated RC 1 ladder bias circuit Luca Latronico Glast italian software meeting, Udine 01/30/2003 LAT electronics hierarchy Survival jargon AEM : ACD Electronics Module TEM : Tower Electronics Module GEM : Global trigger Electronics Module GASU : Global trigger ACD Signal distribution Unit CC : Cable Controller RC : Read-out Controller FE : Front-End GLT : GLobal Trigger Luca Latronico Glast italian software meeting, Udine 01/30/2003 The LAT registers Luca Latronico Glast italian software meeting, Udine 01/30/2003 Online software hierarchy Luca Latronico Glast italian software meeting, Udine 01/30/2003 Online software hierarchy An xml schema file is loaded to pass the hardware configuration and load the tree of pointers: lat = readSchema(‘SimpleTemSchema.xml') Navigation of the hierarchy is done using methods like down/up/node, e.g. TKR-FE5/layer3/CC2 : myGTFE = lat.downTEM(0).downTCC(2).downTRC(3).downTFE(5) Luca Latronico Glast italian software meeting, Udine 01/30/2003 Online software – accessing registers each register has: mnemonics, serial nb, size Set() [Get()] looks for mnemonics and set [reads] the register value dataless commands are treated as registers of zero size e.g. access MODE register on FE5/layer3/CC2 : myGTFE.MODE = 0x0 lat.downTEM(0).downTCC(2).downTRC(3).downTFE(5).MODE mymode = lat.TEM[0].TCC[2].TRC[3].TFE[5].MODE as for standard DAQ software Luca Latronico Glast italian software meeting, Udine 01/30/2003 Online software – constraints, conversions Luca Latronico Glast italian software meeting, Udine 01/30/2003 I&T test stand runtime environment Finite State Machine framework user GUI handles hardware configuration run test scripts handles communication with logger, database, data monitor Luca Latronico Glast italian software meeting, Udine 01/30/2003 References / entry point Core software development at SLAC: http://www-glast.slac.stanford.edu/LAT/INT/ONLINE/Default.htm Essential documents TEM + ~anything downstream (GTCC, GTRC, GTFE) LAT-TD-00605-D1 TEM Primer Trigger •GLAST LAT Test Stand Communications Interface (online web page – look at MiniGLT section) •LAT-TD-00606-D1 LAT Inter-module Communications Specific nodes and test plans for TKR: node location GTCC TEM GTRC TMCM GTFE TMCM MCM* TOWER doc LAT-TD-00605-D1 TEM Primer LAT-TD-248 LAT-TD-247 LAT-TD-249 LAT-TD-191-02 LAT-SS152(level IV specs) LAT-SS17(level III specs) TKR specific tools – soon available at http://glastserver.pi.infn.it/glast Luca Latronico Glast italian software meeting, Udine 01/30/2003 Instrument integration and calibration plan Subsystems acceptance, qualification, environmental tests milestone instrument schedule source activity Engineering Model (EM) 4-trays TKR 1 full-tower CAL no ACD 3-4/03 CR VG 17MeV g Calibrations Calibration Unit (CU) 4 full towers 5-6/04 e+ h g Calibrations + science perf. verification Flight Unit (FU) LAT (16 towers) 10/04 CR, VG Calibrations + science perf. verification Flight Unit (FU) LAT (16 towers) 05 Flight Unit (FU) LAT (16 towers) 05 spacecraft integration CR airplane test October 2006 - LAUNCH Luca Latronico Glast italian software meeting, Udine 01/30/2003 The Engineering Model milestone 1 TKR module with 4 live trays (3 XY planes) 1 full scale tower CAL Tower electronics Calibrate the system Charge injection Cosmic rays 17.6 MeV photons Timescale - february/june 2003 TKR commissioning : • si sensors test • ladder assembly and test • tray production • FE/RC/MCM production • development of tools for system tests Luca Latronico (from I&T/SVAC) Glast italian software meeting, Udine 01/30/2003 EGSE - Tower test setup TEST JIG will be used for EM and full tower tests on ground during I&T Luca Latronico Glast italian software meeting, Udine 01/30/2003 The Engineering Model milestone – DAQ architecture Luca Latronico Glast italian software meeting, Udine 01/30/2003 I&T test stand - DAQ hardware overview • VxWorks • low level drivers VME Proc LV CMD EVT XBRD +28V COM COM PSA TEM bias Sensors+Read-out ELX bias (both TKR and CAL) to CAL GASU cable TRAY TEM TRAY DAQ/Online • high level python interface (PyLAT) Workstation • data analysis and monitoring Read-out event rate 1KHz Luca Latronico Glast italian software meeting, Udine 01/30/2003 I&T test stand - a picture Luca Latronico Glast italian software meeting, Udine 01/30/2003 Test stand – some more survival jargon EM : Engineering Model EGSE : Electronics Ground Support Equipment TEM : Tower Electronics Module PSA : Power Supply Assembly GASU : Global trigger ACD Signal distribution Unit XBRD : transition board, currently supplying the GASU-trigger and PDU (Power Distribution Unit) functionalities LCB : LAT Communication Board – currently implemented as the COM card, will be a custom cPCI board to pulg into the VME processor INTERFACE BOARD : temporary board to connect the TEM to the MCM (same as the one used in the UCSC system, where it connects the MCM directly to the COM card with NO TEM) ITAR : International Traffic in Arms Regulations Luca Latronico Glast italian software meeting, Udine 01/30/2003 I&T / flight DAQ architecture Allowed independent EGSE/flight software development Use of spacecraft communication protocols Luca Latronico Glast italian software meeting, Udine 01/30/2003 Online tools – Qt GUIs Set of C++ classes Converted to Python with SIP/SWIG Commercial version for development Free version for learning Luca Latronico Glast italian software meeting, Udine 01/30/2003 Online analysis-visualization tools : HippoDraw GUI-driven analysis tool by P. Kunz Set of C++ classes Java and Qt GUIs Now providing python scripting capabilities Luca Latronico Glast italian software meeting, Udine 01/30/2003 The TKR subsystem point of view – DAQ ladder tests Source profile 4 Source + Noise (1 Khz) Source (100 Hz) 3.5 Counting rate (Hz) 3 2.5 2 1.5 1 0.5 0 63 127 191 Strip number The source profile does NOT change when random noise triggers, obtained by lowering the threshold on boundary channels, are added – the ladder and the read-out are fully efficient Luca Latronico Glast italian software meeting, Udine 01/30/2003 The TKR subsystem point of view – DAQ ladder tests Threshold Scan with 92 Sr source 1000000 64 chans FE1, SOURCE 64 chans FE1, NO SOURCE 100000 Counting Rate (Hz) 10000 1000 100 With source 10 1 0.1 Without source 0.01 0 10 20 30 40 50 60 70 Threshold DAC (Threshold range = 1, Bias voltage = 60 V) • 50% rate point corresponds to median of the charge-release distribution • assuming a plateau @ 400 Hz (which isn’t evident from the plot, but consistent with a rough measurement performed with a Geiger) this turns out to be about 6fC ~ 40ke- ~> 1MIP • deviations from effects like high charge release from slow electrons, charge sharing, inclined tracks Luca Latronico Glast italian software meeting, Udine 01/30/2003 Work plans for EM Before delivery to I&T : suite of scripts for trays/mini-tower testing: hardware configurations dead channels (charge injection, b source scan) noise evaluation (threshold scans, counting rates / occupancy) library of TKR specific functions and test routines During I&T effort at SLAC same scripts inside standard run-time acquisition low level elx functional tests test grid: high level functional tests (load/read back – configure system) calibrations (dead chans – noise – ToT) run (17.6 MeV g reconstruction) low level tests in response to specific problems connection to SAS software Two people been at SLAC (Latronico, Baldini), one currently at SLAC (Cohen-Tanugi), two students from Pisa Luca Latronico Glast italian software meeting, Udine 01/30/2003 Afternoon tutorial Tutorial Running an application from the RunControl Python PythonWin IDE module browsing using the Python documenter: browse gLAT.py and tkr_lib.py Write a Qt GUI in python HippoDraw for data analysis using a python script and the data inspector Luca Latronico Glast italian software meeting, Udine 01/30/2003