Offline Tutorial:Contents
This topic gives the contents of the latest Daya Bay Offline Software Tutorial material. Past tutorials:
Location and Time
IHEP, room A511, Dec 14 & 15 8:30-17:00.
Agenda
Agenda in DocDb (day 1 and day 2) is definitive. Here are notes and guidance for teachers and students.
Session 1
The first session focusses on having the students immediatly use the existing software.
Login, Setup Environment (20 minutes, Qiumei Ma)
- IHEP or personal laptop account access
- Locating release
- Initial setup
- "dyb" and "dyb__" helpers
- Login to lxslc.ihep.ac.cn
If you can not write to your home directory you will need an AFS token. Get one by doing:
klog (enter password)
- Release is at: /home/dyb/dybsw/NuWa/NuWa-trunk/
Set up your environment:
cd /home/dyb/dybsw/NuWa/NuWa-trunk/ source setup.sh # or setup.csh if using csh cd tutorial/TutorialRelease/cmt source setup.sh # or setup.csh if using csh cd # go back to your home
Diving in: run some simulation and produce histograms (30 minutes, Dan)
- Simulate a source in the AD
- Histogram some quantities
- Run a pre-setup job
Running nuwa.py and understanding configuration (1 hour, Brett)
- Presentation
- Anatomy of an offline job
- running nuwa.py
- 4 layers of configuration
- Use tutorial/DybHelloWorld
- Using units
Detector Description (30 minutes, Wei)
- geometry, materials and structure
- The big-four: LVolume, PVolume, DetectorElement and GeometryInfo
- XML
- C++
- Navigation between the above.
- visualization, validation
- DetHelpers (PmtGeomInfoSvc, CoordSysSvc)
Generators and GenTools (30 minutes, Kim)
- basic premise of GenTools
- tour of existing tools
- use of external generators
- can use tutorial/SimHistsExample/share/genhists.py (could use an update)
Detector Simulation (30 minutes, Brett)
- Presentation
- connection to geometry
- customizations
- historian and unobserver (DocDB document#2129)
- can use tutorial/SimHistsExample/share/simhists.py (could use an update)
Electronics Simulation (30 minutes, Dan)
- available settings
- some results
- ...
Trigger Simulation and Readout (45 minutes, Brandon)
- available settings
- connection to real data
- some results
- ...
Calibration and Reconstruction (60 minutes, Liangjian)
- description
- configuration
- some results
- Students should run these stages on previously supplied/generated Readout level files.
Session 2
The second session focusses on understanding the underlying mechanism of the software.
CMT, packages and projects (30 minutes, Brandon)
- Types of packages
- Package vs. Project
- How to make each
- Using personal projects against a central NuWa release
- Class work:
- Create a personal project
- Import a package (example from previous day)
- Build and run it
- Modify the C++
- Build and run it
The Gaudi Framework (1 hour, ???)
- Let's have more hands-on detail than Charles' last talk.
- System of units! How to correctly use values with units.
- What is a component, tour of types (alg, svc, tool)
- What is an Interface, why use them? How to write and how to use them.
- Tour of commonly used gaudi, lhcb and dybguadi components
- Class work:
- Add a tool to the package from lesson before
- Call it from the algorithm
Working in Python (30 minutes, Brett)
- Very basics of the Python language
- syntax, modules, functions, classes
- advantages of using ipython for an enhanced interactive experience
- Configuration (configurable) vs. runtime (pure-Python alg) Python code
- CMT package stuff needed to build dictionaries
- Accessing Interfaces and normal classes from Python
- Limitations, conventions
Unit tests and Trac (30 minutes, Simon Blyth)
- What are unit tests
- writing unit tests
- running them
- unit tests and trac
- you and trac
Data distribution with SPADE (30 minutes, Simon Patton)
- Features.
- How it is setup and will run.
- Naming conventions
Transient Data Model and File I/O (30 minutes, Brett)
- GaudiObjDesc
- HeaderObject, TemporalDataObject
- Persistent objects and converters
- Normal file output and input
- Special cases - push-mix and pull input
Pull mode of simulation (30 minutes, Zhe or Brett)
- Description of how it works
- Configuration
- Example with as many stages as are supported
Push mode of simulation (30 minutes, Meng)
- Description of how it works
- Configuration
- Examples
Close-out/summary & what next? (1 hour, Meng or Craig)
- Initial assessment of tutorial
- Feedback and comments
- Next?