introduction to cmssw framework concepts simulation & reconstruction liz sexton-kennedy january...

14
Introduction to CMSSW F Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

Upload: thomasine-nichols

Post on 13-Dec-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

Introduction to CMSSWF

ramework

Concepts

Simulation & Reconstruction

Liz Sexton-KennedyJanuary 10, 2008

Page 2: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 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.

Page 3: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 3

Introduction

CMSSW is now a large software system:

Page 4: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

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:

Page 5: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

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

Page 6: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

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.

Page 7: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

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.

Page 8: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

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

Page 9: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

Liz Sexton-Kennedy Fermilab CMSSW++ June 18, 2008 9

Schematic Picture of Reconstruction

A simplified example take from the calorimeter reconstruction:

Page 10: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

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.

Page 11: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

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

Page 12: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

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

Page 13: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

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

Page 14: Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008

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.