Upload
thomasine-nichols
View
228
Download
0
Tags:
Embed Size (px)
Citation preview
Introduction to CMSSWF
ramework
Concepts
Simulation & Reconstruction
Liz Sexton-KennedyJanuary 10, 2008
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 2
Introduction
CMS is now on it’s 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.
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 3
Introduction
CMSSW is now a large software system:
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 4
Code 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:
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 5
Glossary 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
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 6
FW 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 <some-configuration-file>
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.
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 7
Basic 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.
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 8
Basic 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
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 9
Schematic Picture of Reconstruction
A simplified example take from the calorimeter reconstruction:
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 10
“Where 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 => 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.
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 11
More FW Concepts -“EventSetup”
The EventSetup is the system which delivers all non-event data to EDProducers and other modules. It’s component are activated on demand rather then scheduled in contrast to the event data components.
EventSetup
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 12
Simulation in CMSSW
Detector Simulation
Generation Digitization
Root data file (HepMC)
Root data file (add SimHits)
Root data file (add Raw)
Reconstruction
Particle gun, physics generator (vertices, particles)
Particle showers, EM Fields, based on Geant4 (SimHits)
Modeling of electronic signal (Digis)
Min-Bias Generator
Signal SimHits
Min-Bias SimHits
Signal Generator
Event Digis
CPU
Overlay in-time min-bias events from same collision and out-of-time min-bias events from neighboring collisions
Event RawData
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 13
Reconstruction in CMSSWSimulation of Electronics
SimHitsSignal Event
SimHits Pileup Events
DIGI’sRecHits,
Segments
TrackerCalorimete
rMuon Det.
Trigger
• 20 interactions/ crossing
• 25 ns crossing time: faster than detector response – read out (simulate) crossings –5;+3
• 200 pileup events per 1 signal event!HCAL Tracks, Jets,
Muons, Vertices,MET, Electrons, Photons, b-tags,
etc…
High-level Reconstruction and
Analysis
Raw Data
Low-level Reconstruction
Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 14
Summary
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.