140 likes | 338 Views
Introduction to CMSSW. Framework Concepts Simulation & Reconstruction. Liz Sexton-Kennedy January 10, 2008. Introduction.
E N D
Introduction to CMSSW • Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008
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.
Introduction • CMSSW is now a large software system:
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:
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
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.
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.
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
Schematic Picture of Reconstruction • A simplified example take from the calorimeter reconstruction:
“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.
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
EventDigis Simulation in CMSSW Root data file (add SimHits) Root data file (add Raw) Root data file (HepMC) DetectorSimulation 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 EventRawData CPU Signal Generator Signal SimHits
SimHits Pileup Events Tracks, Jets, Muons, Vertices, MET, Electrons, Photons, b-tags, etc… Tracker Calorimeter Muon Det. Trigger DIGI’s RecHits, Segments SimHits Signal Event Reconstruction 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 –5;+3 • 200 pileup events per 1 signal event! High-level Reconstruction and Analysis HCAL
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.