SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3...
-
Upload
theodora-manning -
Category
Documents
-
view
224 -
download
0
Transcript of SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3...
![Page 1: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/1.jpg)
SPD-MOOD v4 Henrik Tydesjö 1
SPD-MOOD v4
![Page 2: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/2.jpg)
SPD-MOOD v4 Henrik Tydesjö 2
Why A New Version? Maintenance:
Version 3 close to becoming a monster after 3 years of code fixes and temporary solutionsVersion 4 is better following the philosophy of object oriented programmingand gives a nice possibility for anyone to add new code in a simple way
Increasing number of requests for new functionality:Version 4 offers user to select specifically what to monitor, minimizing the resources and time spent for each individual need
Stability of operation:Version 3 had some problems of stability, lacking some proper handling ofposix threads and mutexes (Root ‘signal/slot’ handling related)Version 4 is greatly improved in this context
Another major benefit is the way in which SPD-MOOD displays data It is now completely re-organized and improved
The displaying is based on a ‘multiple window’ systemwhich is in many ways more flexible and convenient for the user
![Page 3: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/3.jpg)
SPD-MOOD v4 Henrik Tydesjö 3
Additional New Features ‘Run Until Event’
Stop running at specified event number Consistency Error Flag
Bar in main window showing green (ok) or red (error occurred)Possibility to reset this flag (to see if problem persists)
‘Screen-Shot All’Make screen-shots of all the displays that are open
Trigger mask May be set for all or single monitoring histogram(Two 32-bit words compared to the trigger pattern in raw data)Event accepted when:(trigMask1 & trigPattern1) OR (trigMask2 & trigPattern2)
![Page 4: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/4.jpg)
SPD-MOOD v4 Henrik Tydesjö 4
Main Window, Setup Window
Setup window – personalizeyour monitoring:
Choose what to monitor Choose what to display
Main window, some features: Define data source (Login) Collect data (Run…) Operations on all available
monitoring objects Global options (pixel mask,
trigger mask etc.)
![Page 5: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/5.jpg)
SPD-MOOD v4 Henrik Tydesjö 5
How To RunLOGIN Panel:
Data Source: Online Offline Offline File List
Data Format: DATE ROOT
Main Window:
Login(open login panel)
Run Run Until Event Run N Events Run One Event
![Page 6: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/6.jpg)
SPD-MOOD v4 Henrik Tydesjö 6
Setup Window: How Does It Work?Two kinds of monitoring objects: ‘Histogramming’ objects ‘Displaying’ objects
Histogramming object Parameters that need to
be monitored (e.g. using histogram) Collects statistics as SPD-MOOD runs ‘Reset’ functionality ‘Pause’ functionality ‘Trigger mask’ functionality
Displaying object Display window (see next slide) Link to ‘histogramming’ object (change
properties of hist. obj.) ‘Update’ functionality (draw histogram) ‘Screen shot’ functionality ‘Movie’ making functionality
Example for histogramming object (Cluster multiplicity):
‘+’ Create new hist. obj.‘-’ Delete last hist. obj. created Number of hist. obj.
Open display(s) - Create displaying object(s)
![Page 7: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/7.jpg)
SPD-MOOD v4 Henrik Tydesjö 7
Display Window
Update: Update displayReset: Reset histogramClone: Copy displaying object -
open new display windowconnected to same hist. obj.
Close display (hist. obj. still present)
Movie: Make movie based on screenshots when ‘Au-Up’ *
Pause: Pause collecting stats for connected hist. obj.
Au-Re: Automatically reset the connected hist. obj. after each event
Au-Up: Automatically update the display at next eventfulfilling certain conditions(‘modulus’ and updating time)
Kill: Close display and delete hist. obj.Trig mask: Set trigger mask for connected hist. obj.Screen shot: Make screen shot of this display
*) Not shown in this display
![Page 8: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/8.jpg)
SPD-MOOD v4 Henrik Tydesjö 8
Display Example: Clones4 displays of same hist. obj. – ‘clones’ (3 shown here)Au-Up Ev# set to display every 4th event in each display
![Page 9: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/9.jpg)
SPD-MOOD v4 Henrik Tydesjö 9
Save/Load Configuration and Setup As in Version 3 the global configuration parameters are saved automatically
upon exiting the program (for instance, the data source is stored)Again there is the possibility to save a specific configuration to fileto retrieve it later (see ‘File’ menu of SPD-MOOD main window)If you believe the values are screwed-up, there is a possibility to revertto a default set of values (this problem appeared once during 2008)
The setup (which histograms/displays to use) may also be saved(see ‘File’ menu of SPD-MOOD setup window)There is a default setup (which may be changed), always loaded atprogram start-upSetup may also be saved to a file, for instance you may have several such as:
‘MyFavoriteCosmic.setup’‘MyFavoriteUniformityScan.setup’‘MyFavoriteBeamInjection.setup’
Also the size and location-on-screen of the display windows are saved
![Page 10: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/10.jpg)
SPD-MOOD v4 Henrik Tydesjö 10
Underlying Code Structure (I)There is a set of ‘singleton’ classes that contains the essential part of code:
TMMainFrameMain window + connection to Setup window (TMSetupDisplays)
TMConfigGlobal configuration parameters (data source, active eqs, etc.)
TMControlMutexHandles mutex locks (SPD-MOOD needs to be a multi-threaded application)
TMControlSPDInterface to raw data (via DATE monitoring library and AliRoot RawReaders)Parses data and sends information to Histogramming objects.
TMDisplayingList populated via TMSetupDisplaysList of Displaying objects (basically display windows on screen)Facilitates operations on all displaying objects
TMHistogrammingList populated via TMSetupDisplaysList of Histogramming objects (Filled from TMControlSPD during running)Facilitates operations on all histogramming objects
![Page 11: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/11.jpg)
SPD-MOOD v4 Henrik Tydesjö 11
Underlying Code Structure (II)
TMHistogrammingList
TMControlSPDTMMainFrame
TMDisplayingList
ProcessPixelProcessClusterResetAuto
etc…
Start/Stop Run
Update AllScreen-Shot AllClose All
Raw Data
UpdateAutoDisplays Reset All
GetEvent
Login
![Page 12: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/12.jpg)
SPD-MOOD v4 Henrik Tydesjö 12
TMDisplayingShowDet
Draw Reset GetNrEvents etc…
Hist. Obj.Disp. Obj.
Underlying Code Structure (III)T
MH
istogramm
ingL
ist
TM
Disp
layingL
ist
TMHistogrammingClustersPerHSA
TMDisplayingHitMapEq TMHistogrammingHitMapEq
TMHistogrammingFastorEq
TMHistogrammingHitMapEq
TMHistogrammingGlobalClusterXY
TMHistogrammingGlobalClusterZY
TMDisplaying
TMDisplaying (clone)
![Page 13: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/13.jpg)
SPD-MOOD v4 Henrik Tydesjö 13
How To Add New Code1) Make a new histogramming object:
Write class that derives from TMHistogramming classThere is a template class (TMHistogrammingTEMPLATE) in source directory to help get started
2) Make a new displaying object (optional):In most cases, the base class TMDisplaying can be usedOtherwise write class that derives from TMDisplaying
3) Add code to manage added objects from Setup Window:TMSetupDisplays class (.h .cxx files)Look for lines like this for hint where code is needed:
// ADD CODE HEREMain additions needed:
Each hist. obj. should have unique ID defined in TMSetupDisplays.h Add buttons (‘+’ , ‘-’ , ‘SHOW’) to Setup Window
to manage the new histogramming object Code to create histogramming object upon button click Code to create corresponding displaying object upon button click
In most simple case only 9 lines of code added or changed
![Page 14: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/14.jpg)
SPD-MOOD v4 Henrik Tydesjö 14
TMHistogramming ClassMethods that may be implemented (overriding the base class methods) in the new class deriving from TMHistogramming: StartEvent (eventHeaderStruct *event, UInt_t globalEventNumber)
Called before any processing of event.ProcessPixel (UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
Called for each pixel hit found in raw data. ProcessClusters (HenrikClusterFinderSPD* clFinder)
Called after data parsing. Access to clusters found in the entire event. ProcessCluster (Float_t x, Float_t y, Float_t z, UInt_t module,
UInt_t size, UInt_t widz, UInt_t widphi, UInt_t type)Called after data parsing. Called for each cluster found by HenrikClusterFinderSPD. May be used instead of ProcessClusters(…).
ProcessEvent (eventHeaderStruct *event)Called after data parsing.
EndEvent (AliITSRawStreamSPD *str, UInt_t globalEventNumber)Called at the end of the event loop.
In addition, methods Draw (TPad *pad) and Reset () should be implementedAll histograms used in Version 3 and a few new ones have been added so far
![Page 15: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/15.jpg)
SPD-MOOD v4 Henrik Tydesjö 15
Ex: Clusters per HS
![Page 16: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/16.jpg)
SPD-MOOD v4 Henrik Tydesjö 16
Ex: Bunch Crossing Modulus 4
![Page 17: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/17.jpg)
SPD-MOOD v4 Henrik Tydesjö 17
Ex: Hit-Map for Half Sector
Double-click opens chip display:
![Page 18: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/18.jpg)
SPD-MOOD v4 Henrik Tydesjö 18
Ex: FastOR Signals per Equipment
![Page 19: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/19.jpg)
SPD-MOOD v4 Henrik Tydesjö 19
Ex: Consistency Errors vs. Event Number
‘Show Error Codes’ button opens list of error codes:
![Page 20: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/20.jpg)
SPD-MOOD v4 Henrik Tydesjö 20
Installation (I)1) Target a Linux machine for installation
Development made on SLC42) Install ROOT if not present (see http://root.cern.ch)
Any Root version should be fine, but in case of problems, check SPD-MOOD web documentation to see which ROOT version was used for development
3) Install DATE (optional)Needed for online monitoring (does not need full DATE installation)
4) Download and install ‘mpeg2encode’ and ‘mpgtx’ (optional)Needed for movie making functionality (may be found on web)Add these binaries to PATH environment variable
5) Download SPD-MOOD.tgz files are found on SPD-MOOD web documentation pageUn-pack by (in the case of version 4.01):> tar zxvf SPDMood_v4.01.tgz
![Page 21: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/21.jpg)
SPD-MOOD v4 Henrik Tydesjö 21
Installation (II)6) Add environment information to login script
‘SPDMOOD_SITE’ should be set to the downloaded directory nameIn bash shell, add something like this to .bashrc file:export SPDMOOD_SITE=/local/home/spd/SPDMood_v4.01export PATH=$SPDMOOD_SITE/bin:$PATHexport LD_LIBRARY_PATH=$SPDMOOD_SITE/lib:$LD_LIBRARY_PATH
7) Edit $SPDMOOD_SITE/build/MakefileFirst two lines may be edited according to desired mode of operation:WITH_DATE = 1 if DATE will be used (otherwise put 0)WITH_MOVIE = 1 if movie making is desired (otherwise put 0)
8) Build the code> cd $SPDMOOD_SITE/build> make
9) Run Application > SPDmood.exeMight require to re-run login script first. In case connection to grid is desired, run:> gridSPDmood.exe
![Page 22: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/22.jpg)
SPD-MOOD v4 Henrik Tydesjö 22
Grid Connection
From SPD-MOOD v4.03 on: Grid files may be accessed directly through ALIEN To source /tmp/gclient_env_$UID script, and
automatically connect to grid at program start-up, run:> gridSPDmood.exeThis should of course be preceded by an ‘alien-token-init’
Data source should start with alien:// , for instance:alien:///alice/data/2008/LHC08d/000062834/raw/08000062834000.10.root
![Page 23: SPD-MOOD v4Henrik Tydesjö1 SPD-MOOD v4. Henrik Tydesjö2 Why A New Version? Maintenance: Version 3 close to becoming a monster after 3 years of code.](https://reader035.fdocuments.net/reader035/viewer/2022062519/5697bfcf1a28abf838ca9cf9/html5/thumbnails/23.jpg)
SPD-MOOD v4 Henrik Tydesjö 23
Further DetailsSee SPD-MOOD web documentation for further details:
http://tydes.home.cern.ch/tydes/doc/SPDMood
This presentation Download page, description of updates for each version Installation guide Lists explaining all menus and buttons