Title: Introduction to CMSSW
1Introduction to CMSSW
- Framework Concepts
- Simulation Reconstruction
Liz Sexton-Kennedy January 10, 2008
2Introduction
- CMS is now on its second generation of offline
software. Use of the first generation software
systems is long gone now, but much of the work
that went into these projects (ORCA, OSCAR,
COBRA, IGUANA) was reused by porting it - to CMSSW.
- CMSSW is the full suite
- of offline software in the
- new architecture.
- Code for online data taking,
- Simulation, Primary
- reconstruction, and
- Physics analysis.
3Introduction
- CMSSW is now a large software system
4Code Organization
- The thousand (or so) packages that make up the
project are organized into sub-systems with names
that should be suggestive of their purpose
5Glossary T(more/less)LA's
- CMSSW Compact Muon Solenoid SoftWare
- EDM Event Data Model
- FW Application Framework
- AOD Analysis Object Dataset
- TDR Technical Design Report
- DAQ Data Acquisition
- FED Front End Digitizer
- HLT High Level Trigger
- PAT Physics Analysis Toolkit software effort
- PADA Processing and Data Access computing
effort - CVS Code Versioning System also called the
code repository - CmsTC CMS Tag Collector integration tool
6FW Architecture - Plugins
- Applications in CMSSW are built from special
shared object libraries called plugins. In
practice this means that there is only one
command you need to know to run most CMS
applications cmsRun ltsome-configuration-filegt - Configurations are currently written in a
specialized invented language, but we are in the
process of moving to the python language. 2_0_X
and earlier use the first, 2_1_X and later will
use python. - There are two types of plugins
- Module Plugins EDProducers, EDFilters,
EDAnalyzers, (EDLoopers, etc.) and ESSources,
ESProducers. These are the worker components of
the FW. ED process event data, ES process
event setup data. - Data Object Plugins also known as root
dictionaries because they can also be loaded
directly into the root application. These are
most of the products of the above work, and form
the elements of the EDM.
7Basic Concept of the EDM
- The data produced in the primary reconstruction
farms (Tier 0 CERN), or reprocessing farms
(Tier 1s) must be immediately useful for analysis
(at least once we really understand the
detector). - We have designed the system so that the same
pool/root data file can be used in three
contexts - Bare root.exe treat pool file as a root input
file, allows browsing of simple objects (floats,
ints, and composites of them) from the root
TBrowser GUI. - FWLight a small set of CMS defined loadable
libraries added to root to allow more
sophisticated use with root macro scripts. For
the EDM this is a read-only application. - cmsRun - input for a full framework
application, could be used for a reprocessing
pass or creation of more refined analysis objects
stored into the AOD.
8Basic Concepts of the FW
- A Software Bus Model
- Start from the raw-raw data
- Producers are scheduled to operate on the event
data and produce their output which is written
into the event - At any point in the processing chain, the
execution can be halted and the contents of the
event can be examined outside of the context of
the process that made it - The schedule can be checked for correctness since
the modules can declare their inputs (and outputs
if they are EDProducers). This allows the FW to
automatically track the provenance of what is
produced. - Several instances of the same module can be run
in the same application and you will still be
able to uniquely identify their products.
Identified by C type, producer label, instance
name, process name
9Schematic Picture of Reconstruction
- A simplified example take from the calorimeter
reconstruction
10Where do I plug in ?
- As you can see from the previous slide each blue
box must be defined by a reconstruction writer. - The first step is to define what are the input
and output objects needed for your algorithmic
task. - These need to be defined as C classes that
follow the EDM rules gt define EDProduct classes
in some DataFormat subsystem. - Decide what services your algorithm needs
(calibrations, geometry description) from
EventSetup - Start from templates or code generators for the 5
types in FWCore/Skeletons/scripts (eg. mkedprod ) - Write the EDProducer that receives all of the
information and passes it on to the algorithms.
11More FW Concepts -EventSetup
- The EventSetup is the system which delivers all
non-event data to EDProducers and other modules.
Its component are activated on demand rather
then scheduled in contrast to the event data
components.
EventSetup
12Simulation in CMSSW
Root data file (add SimHits)
Root data file (add Raw)
Root data file (HepMC)
Detector Simulation
Generation
Digitization
Reconstruction
Modeling of electronic signal (Digis)
Particle gun, physics generator (vertices,
particles)
Particle showers, EM Fields, based on Geant4
(SimHits)
Overlay in-time min-bias events from same
collision and out-of-time min-bias events from
neighboring collisions
Min-Bias Generator
Min-Bias SimHits
Event RawData
CPU
Signal Generator
Signal SimHits
13Reconstruction in CMSSW
Simulation of Electronics
Low-level Reconstruction
Raw Data
- 20 interactions/ crossing
- 25 ns crossing time faster than detector
response read out (simulate) crossings 53 - 200 pileup events per 1 signal event!
High-level Reconstruction and Analysis
HCAL
14Summary
- CMSSW is a large scale software system for
simulation, data acquisition, triggering,
reconstruction and analysis of CMS data. - A lot of work has been done over the past 3
years, but there is a lot of work still to do. I
expect the code base to be at least 2 to 3 times
bigger (CDF for instance is). The work to
understand the detector and capture that
understanding in the software and databases is
still to be done in the continued commissioning
of the detector over the next year. - Come and join the fun, become a CMSSW developer
by attending the rest of the tutorials this week.