Glast italian software meeting, Udine 01/30/2003 Luca Latronico 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
Glast italian software meeting, Udine 01/30/2003 Luca Latronico Online software – what is it for? Data AcQuisition: test LAT hdw calibration environmental data monitoring (T,I,V) data taking Electronics detector performance: tracks, hits, events 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 ….
Glast italian software meeting, Udine 01/30/2003 Luca Latronico Online software – how is it made Online software: Python scripts Qt GUIs HippoDraw Flight software Compiled C code hardware Low-level drivers Compiled C code Low-level drivers Compiled C code
Glast italian software meeting, Udine 01/30/2003 Luca Latronico GLAST Instrument: the Large Area Telescope (LAT) DAQ Electronics Grid Tracker Calorimeter ACD Thermal Blanket 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). 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 Luca Latronico GLAST Tracker Design Overview 16 “tower” modules, each with 37cm 37cm of active cross section 83m 2 of Si in all, like ATLAS 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 2mm gap between x and y oriented detectors Trays stack and align at their corners The bottom tray has a flange to mount on the grid. Electronics on sides of trays: –Minimize gap between towers –9 readout modules on each of 4 sides high modularity Electronics flex cables Carbon thermal panel One Tracker Tower Module
Glast italian software meeting, Udine 01/30/2003 Luca Latronico Tracker tower read-out architecture channels CMOS VLSI (custom ASIC ) read- out 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 simplified block diagram of the GLAST TKR readout
Glast italian software meeting, Udine 01/30/2003 Luca Latronico Tracker front-end electronics miniMCM 7 GTFE 2 GTRC tray with full-size MCM 24 encapsulated FE 2 encapsulated RC 1 ladder bias circuit
Glast italian software meeting, Udine 01/30/2003 Luca Latronico 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
Glast italian software meeting, Udine 01/30/2003 Luca Latronico The LAT registers
Glast italian software meeting, Udine 01/30/2003 Luca Latronico Online software hierarchy
Glast italian software meeting, Udine 01/30/2003 Luca Latronico 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)
Glast italian software meeting, Udine 01/30/2003 Luca Latronico 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 each register has: mnemonics, serial nb, size Set() [Get()] looks for mnemonics and set [reads] the register value Online software – accessing registers dataless commands are treated as registers of zero size
Glast italian software meeting, Udine 01/30/2003 Luca Latronico Online software – constraints, conversions
Glast italian software meeting, Udine 01/30/2003 Luca Latronico 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
Glast italian software meeting, Udine 01/30/2003 Luca Latronico References / entry point Core software development at SLAC: Essential documents TEM + ~anything downstream (GTCC, GTRC, GTFE) LAT-TD D1 TEM Primer Trigger GLAST LAT Test Stand Communications Interface (online web page – look at MiniGLT section) LAT-TD D1 LAT Inter-module Communications Specific nodes and test plans for TKR: nodelocationdoc GTCC TEM LAT-TD D1 TEM Primer GTRC TMCM LAT-TD-248 GTFE TMCM LAT-TD-247 MCM* LAT-TD-249 TOWER LAT-TD LAT-SS152(level IV specs) LAT-SS17(level III specs) TKR specific tools – soon available at
Glast italian software meeting, Udine 01/30/2003 Luca Latronico Instrument integration and calibration plan milestoneinstrumentschedulesourceactivity Engineering Model (EM) 4-trays TKR 1 full-tower CAL no ACD 3-4/03CR VG 17MeV Calibrations Calibration Unit (CU) 4 full towers5-6/04e+ h Calibrations + science perf. verification Flight Unit (FU)LAT (16 towers)10/04CR, VGCalibrations + science perf. verification Flight Unit (FU)LAT (16 towers)05spacecraft integration Flight Unit (FU)LAT (16 towers)05CRairplane test October LAUNCH Subsystems acceptance, qualification, environmental tests
Glast italian software meeting, Udine 01/30/2003 Luca Latronico 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 (from I&T/SVAC) 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
Glast italian software meeting, Udine 01/30/2003 Luca Latronico EGSE - Tower test setup will be used for EM and full tower tests on ground during I&T TEST JIG
Glast italian software meeting, Udine 01/30/2003 Luca Latronico The Engineering Model milestone – DAQ architecture
Glast italian software meeting, Udine 01/30/2003 Luca Latronico TEM PSA CMD COM EVT COM XBRDVME Proc LV +28V GASU cable TEM bias Sensors+Read-out ELX bias (both TKR and CAL) VxWorks low level drivers DAQ/Online Workstation high level python interface (PyLAT) data analysis and monitoring I&T test stand - DAQ hardware overview to CAL TRAY Read-out event rate 1KHz
Glast italian software meeting, Udine 01/30/2003 Luca Latronico I&T test stand - a picture
Glast italian software meeting, Udine 01/30/2003 Luca Latronico 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
Glast italian software meeting, Udine 01/30/2003 Luca Latronico I&T / flight DAQ architecture Allowed independent EGSE/flight software development Use of spacecraft communication protocols
Glast italian software meeting, Udine 01/30/2003 Luca Latronico Online tools – Qt GUIs Set of C++ classes Converted to Python with SIP/SWIG Commercial version for development Free version for learning
Glast italian software meeting, Udine 01/30/2003 Luca Latronico 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
Glast italian software meeting, Udine 01/30/2003 Luca Latronico 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 The TKR subsystem point of view – DAQ ladder tests
Glast italian software meeting, Udine 01/30/2003 Luca Latronico The TKR subsystem point of view – DAQ ladder tests 50% rate point corresponds to median of the charge-release distribution assuming a 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
Glast italian software meeting, Udine 01/30/2003 Luca Latronico Before delivery to I&T : suite of scripts for trays/mini-tower testing: hardware configurations dead channels (charge injection, 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 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 Work plans for EM
Glast italian software meeting, Udine 01/30/2003 Luca Latronico 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 Afternoon tutorial