The Technical Design of the D0 Parameterized Monte Carlo Simulation (PMCS) PMCS Working Group Outline 1. PMCS Goals A. PMCS should be a repository of the best smearing routines known to D0 B. PMCS should be fast for use in fast monte carlo efforts such as FMC++ and the new CMS. C. Smearing routines in PMCS should be easily tunable. 2. PMCS Requirements A. The design of PMCS should not preclude its use by D0 collaborators. B. The design of PMCS should facilitate multi-user development. C. PMCS should be flexible to meet the needs of users who might want to switch off certain parts of the simulation to increase speed. D. PMCS should support D0 standard output formats. 3. PMCS technical design A. PMCS will consist of a number of largely independent framework packages. B. PMCS output will be standard D0 chunks. C. PMCS input will be a modified MCKineChunk that contains pointers to particle types 1. PMCS Goals 1.A There is a desire within D0 and good sense dictates that the best parameterizations of the D0 detector should be kept logically in one place. People should not have to re-invent the wheel, and non-experts will have access to the same smearing routines that experts use. The output of PMCS should include : i) smeared physics objects : em, muon, tracks, jets ii) smeared global quantities : Met, recoil, etc iii) smeared detector quantities : toy cal, toy sili, etc. iv) access to generated quantities 1.B PMCS is designed to be a fast simulation of the detector response. The design of PMCS should not preclude its use in conjunction with fast monte carlo efforts such as FMC++ SUSY search or CMS. When used in conjunction with such monte carlo efforts, it is understood that they are responsible for the physics events and PMCS is responsible for detector simulation. The inputs of these simulations may be varied, however. 1.C The smearing routines in PMCS should be easily tunable. A mechanism should exist to produce side by side RECO and PMCS output for easy tuning. 2. PMCS Requirements 2.A PMCS should be written in an open enough framework to allow general usage by D0 collaborators. While we cannot meet all needs in a finite amount of developement time, we are open to specific early requests by interested parties. For example, it is a requirement of the FMC++ group to acheive at least 8 events per second and provide generator output along with smeared output. 2.B PMCS should be designed in a way to permit development by many people. Each developer should have control over his own piece of PMCS, and development should be allowed to proceed asynchronously. 2.C PMCS should be flexible to meet the needs of users who might want to switch off certain parts of the simulation to increase speed. This ideally is controlled dynamically by framework package instantiation and rcp file. 2.D PMCS should support D0 standard output formats. Thus, em particles should appear in an em particle chunk, etc. Thus, PMCS can interface to existing D0 analysis and display software. 3. PMCS technical design 3.A PMCS will consist of a number of largely independent framework packages. We envision that there will be a single package to process the incoming MCKineChunk, B. PMCS output will be standard D0 chunks. C. PMCS input will be a modified MCKineChunk that contains pointers to particle types