“how do i analyze the data?” -- everyone who’s ever analyzed data “how do i access the...
TRANSCRIPT
![Page 1: “How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework](https://reader033.vdocuments.net/reader033/viewer/2022051517/5697bfda1a28abf838cafdd3/html5/thumbnails/1.jpg)
![Page 2: “How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework](https://reader033.vdocuments.net/reader033/viewer/2022051517/5697bfda1a28abf838cafdd3/html5/thumbnails/2.jpg)
“How do I analyze the data?”
-- everyone who’s ever analyzed data
“How do I access the data?”
Analysis Framework
![Page 3: “How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework](https://reader033.vdocuments.net/reader033/viewer/2022051517/5697bfda1a28abf838cafdd3/html5/thumbnails/3.jpg)
Analysis Framework
Defines how packages:
Access data needed for input
Publish data for output
Read in and write out events
Access calibration constants (database)
Event Level
Run Level
![Page 4: “How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework](https://reader033.vdocuments.net/reader033/viewer/2022051517/5697bfda1a28abf838cafdd3/html5/thumbnails/4.jpg)
PID
Tracks
FCAL Showers
BCAL Showers
Cherenkov
TOFCDC
FDC
FCAL HitsBCAL Hits
![Page 5: “How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework](https://reader033.vdocuments.net/reader033/viewer/2022051517/5697bfda1a28abf838cafdd3/html5/thumbnails/5.jpg)
PID
Tracks
Cherenkov
CDC
FDC
FCAL Showers
TOF
BCAL Showers
DANA
FCAL HitsBcal Hits
![Page 6: “How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework](https://reader033.vdocuments.net/reader033/viewer/2022051517/5697bfda1a28abf838cafdd3/html5/thumbnails/6.jpg)
DEventLoop
DEvent
DEventProcessor(called every event)
DFactory(data on demand)
C++: Object Oriented
Framework keeps track of run number and calls “brun” routinesAll Analysis Software is Implemented in DFactory Objects
![Page 7: “How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework](https://reader033.vdocuments.net/reader033/viewer/2022051517/5697bfda1a28abf838cafdd3/html5/thumbnails/7.jpg)
Data Access and Storage in DANA
• Use STL vectorSTL=Standard Template Libraryvector = “smart” array
• Use const pointersFactories deliver read-only data eliminating cross-factory data corruption
• Use templatesProvides type safety removing need to “cast” pointers which can lead to difficult errors.
![Page 8: “How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework](https://reader033.vdocuments.net/reader033/viewer/2022051517/5697bfda1a28abf838cafdd3/html5/thumbnails/8.jpg)
Important Goal:
The analysis framework should be designed to provide a very shallow learning curve for new users.
One should NOT need to be a C++ expert to analyze Hall-D data!
![Page 9: “How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework](https://reader033.vdocuments.net/reader033/viewer/2022051517/5697bfda1a28abf838cafdd3/html5/thumbnails/9.jpg)
A Real Life Example:
vector<const DCDCHit*> cdchits;eventLoop->Get(cdchits);
for(int i=0; i<cdchits.size(); i++){float x = cdchits[i].x;float y = cdchits[i].y;
}
![Page 10: “How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework](https://reader033.vdocuments.net/reader033/viewer/2022051517/5697bfda1a28abf838cafdd3/html5/thumbnails/10.jpg)
BMS: Build Management System
Benefits of using a central Make system
• Reduces maintenance of individual Makefiles
• Encourages better maintenance of source directories
• Consistent use of compiler options
• GlueX-doc-473
![Page 11: “How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework](https://reader033.vdocuments.net/reader033/viewer/2022051517/5697bfda1a28abf838cafdd3/html5/thumbnails/11.jpg)
Summary
• DANA exists in repository and continues to be refined, but is ready for use. Several programs currently use it (hdview, hd_ana, patfind, hd_dump)
• BMS makefile system provides standardization of software builds
• Software group is committed to a shallow learning curve.
![Page 12: “How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework](https://reader033.vdocuments.net/reader033/viewer/2022051517/5697bfda1a28abf838cafdd3/html5/thumbnails/12.jpg)
Other Active, General Use Software Projects
• Package Management Ed Brash
• Online (CMsg) Elliott Wolin
• 3D Event Viewer Matt Bellis
• UPV simulation Alexander Ostrovidov
• FCAL Reconstruction Craig Bookwalter
• BCAL Reconstruction Chucheng Xu
• Openshop Framework Richard Jones
• Nightly Builds (+ doxygen) David Lawrence