Title: FAMOS A dynamically configurable system for fast Simulation and Reconstruction for CMS
1FAMOSA dynamically configurable system for fast
Simulation and Reconstruction for CMS
Stephan Wynhoff Princeton University
2Simulation/Reconstruction Chain
Simulation OSCAR
MC 4-vector
MC 4-vector
Reconstruction ORCA
100-200 sec
SimHit
1-10 sec
RecHit / Digi
10-100 sec
FAMOS/ORCA
Analysis object
Analysis object
FAMOS/OSCAR
Start with fastest modeAIM 1000 times faster
FAMOS/ORCA
3Structure of FAMOS
StandaloneInterface
OSCARInterface
ORCAInterface
Generatorto Analysis
ShowerParameterization
Generatorto SimHit
Generator to RecHit
SimHit to Analysis
OSCAR
ORCA
DDD
COBRA (CARF/Utilities/GeneratorInterface)
4Reading Monte-Carlo Events
RawHepEvent
BaseHepEventReader
HepEventParticleGunReader
HepEventCmkinNtupleReader
HepEventG3EventProxyReader(COBRA/ORCA)
HepEventTxtReader
HepEventPythia6Reader(Pythia 6)
Who dispatches the events?
New class HepEventProviderNew class
FamosEventMgr
5Event handling
- Use RawHepEvent for communication
- FamosEventMgr reads the GeneratorInformation
- FamosEventMgr calls the simulation packages in
sequence
6Reading the right Particles
- RawHepEvent contains ALL generator particles
- Filter to select subset
- Generation of new particles
- Bremsstrahlung
- Pair production
- .
- Ensure consistency
- Guarantee order (Tracker 1st, ECAL 2nd, etc.)
- currently user responsibility
7FamosEventMgr
- normal COBRA (framework) Observer
- Singleton
- accepts registrations of FamosSimulators
- reads RawHepEvent from DB or Pythia6, etc.
- use FakeRecReader to run without DB
- gives RawHepEvent to each FamosSimulator
- currently sequence of registrations
- keeps history of RawHepEvent (after each
FamosSimulator)
8FamosSimulator
- Define abstract interface for each simulation
module - Implementation registers to FamosEventMgr
- Modules for
- Material effects
- Tracking
- Muon trigger
FamosSimulatorvirtual bool reconstruct
(RawHepEvent )virtual const string
giveMyName() constvirtual bool modifiesEvent()
const
BaseFastTracksFromGeneratorvirtual bool
reconstruct(RawHepEvent ) 0virtual
int nTracks (void) const0 virtual
SimpleTrack track (const int i)0
FamosTrajectoryManager
FML1Reconstructor
FTSIM
FATSIM
9Producing standard Objects
- FamosSimulator can use simple classes
- integrate to produce default framework Objects
(RecObj)
LazyObserverltG3EventProxygt
FamosSimulator
BaseFastTracksFromGenerator
RecUnit
TRecUnitltTTrackgt
RecTrackFromParticle
FastTrackReconstructor
10Identical Interfaces to ORCA
- FATSIM Tracks
- myTrackFinder new RecTrackFromRawParticle(new
FATSIM( myPtEG, myAngleEG, myEff,
myImpactParameterEG)) - myTrackReconstructor new FastTrackReconstructor(
myTrackFinder, "FATSIM") -
- RecCollectionltTTrackgt MyTracks(ev-gtrecEvent(),"FAT
SIM") - Standard Tracks
- myTrackFinder new TrackReconstructor(new
CombinatorialTrackFinder, "FkFTracks") - RecCollectionltTTrackgt MyTracks(ev-gtrecEvent(),"FkF
Tracks")
11Choosing the Event Source
- DB reading
- Code myEventMgr FamosEventMgrinstance()Li
braries ltGroup nameGeneratorCARFReadergtltExtern
al refCOBRA UseGeneratorInterfacegtltGroup
nameRecReadergtltExternal refCOBRA
useCARFgtInputCollections /System/SuperPU/Grea
tEvts/GreatEvts - Pythia reading
- CodeHepEventPythia6Reader myReadermyEventMgr
FamosEventMgrinstance(myReader)Libraries
ltlib namePythia6Interfacegtlt/libgtltGroup
nameFakeRecReadergtltExternal refCOBRA
useCARFgtInputCollections /Fake/Fake/Fake/Fake
12FAMOS Results
Tracker
90
Lvl-1 turn-on
single muon Pt gt 20 GeV
H -gt 4 mu
13Timing
fraction time/event msec
Framework 3 2
Pythia 40 25
FTSim 9 6
FastCalorimetry 34 22
Muon-Lvl1 5 3
Muon-Lvl3 9 6
cmsim ORCA 312500 200000
FAMOS is really fast
14Summary
- FAMOS mini-framework for fast simulation
reconstruction - Integrated in AND/OR independency of general CMS
framework - Flexibility to mix full and fast
simulation/reconstruction - minimal code changes
- selection by dynamically loadable shared
libraries - First Modules for Monte-Carlo to Reconstruction
exist - Tracks, Calorimetry, Muon Trigger, Muon
- Material effects, Bremsstrahlung, pair
production, etc. - Further extensions
- Geometry reading from standard XML description
(to guarantee consistency) - GFLASH, fast SimHits, RecHits, all the other
options
15End of Presentation