M. Clemencic (CERN), G. Corti (CERN),

Slides:



Advertisements
Similar presentations
Simulation Project Major achievements (past 6 months 2007)
Advertisements

25/03/2003Simulation Application for the LHCb Experiment CHEP March 2003 Presented by: W. Pokorski / CERN Authors: I. Belyaev, Ph. Charpentier,
LHCb Simulation Tutorial CERN, 21 st -22 nd February B 00 l e How to pass a detector geometry to.
Introduction to the workshop LHCb Generators Tuning Mini Workshop Bucharest 22 nd & 23 rd November 2012 LHCb Generators Tuning Mini Workshop Bucharest.
LHCb Simulation Tutorial CERN, 21 st -22 nd February B 00 l e Detector Simulation and Geant4.
Conditions DB in LHCb LCG Conditions DB Workshop 8-9 December 2003 P. Mato / CERN.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER Charles Leggett The Athena Control Framework in Production, New Developments and Lessons Learned.
ATLAS and GridPP GridPP Collaboration Meeting, Edinburgh, 5 th November 2001 RWL Jones, Lancaster University.
Bookkeeping Tutorial. Bookkeeping & Monitoring Tutorial2 Bookkeeping content  Contains records of all “jobs” and all “files” that are created by production.
Status of the LHCb MC production system Andrei Tsaregorodtsev, CPPM, Marseille DataGRID France workshop, Marseille, 24 September 2002.
G.Corti, P.Robbe LHCb Software Week - 19 June 2009 FSR in Gauss: Generator’s statistics - What type of object is going in the FSR ? - How are the objects.
CHEP06, Mumbai-India, Feb 2006V. Daniel Elvira 1 The CMS Simulation Validation Suite V. Daniel Elvira (Fermilab) for the CMS Collaboration.
A Technical Validation Module for the offline Auger-Lecce, 17 September 2009  Design  The SValidStore Module  Example  Scripting  Status.
LHCb Software Week November 2003 Gennady Kuznetsov Production Manager Tools (New Architecture)
Hadronic Interaction Studies for LHCb Nigel Watson/Birmingham [Thanks to Silvia M., Jeroen v T.]
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
LHCb production experience with Geant4 LCG Applications Area Meeting October F.Ranjard/ CERN.
Introduction to CMSSW Framework Concepts Simulation & Reconstruction Liz Sexton-Kennedy January 10, 2008.
GDB Meeting - 10 June 2003 ATLAS Offline Software David R. Quarrie Lawrence Berkeley National Laboratory
5/2/  Online  Offline 5/2/20072  Online  Raw data : within the DAQ monitoring framework  Reconstructed data : with the HLT monitoring framework.
The CMS Simulation Software Julia Yarba, Fermilab on behalf of CMS Collaboration 22 m long, 15 m in diameter Over a million geometrical volumes Many complex.
Simulation Commissioning, Validation, Data Quality A brain dump to prompt discussion Many points applicable to any of LHCb software but some simulation.
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
Detector Description in LHCb Detector Description Workshop 13 June 2002 S. Ponce, P. Mato / CERN.
1 SICBDST and Brunel Migration status and plans. 2 Migration Step 1: SICBMC/SICBDST split  Last LHCb week: Split done but not tested  Software week.
Bookkeeping Tutorial. 2 Bookkeeping content  Contains records of all “jobs” and all “files” that are produced by production jobs  Job:  In fact technically.
Claudio Grandi INFN-Bologna CHEP 2000Abstract B 029 Object Oriented simulation of the Level 1 Trigger system of a CMS muon chamber Claudio Grandi INFN-Bologna.
Software Tools for Layout Optimization (Fermilab) Software Tools for Layout Optimization Harry Cheung (Fermilab) For the Tracker Upgrade Simulations Working.
General requirements for BES III offline & EF selection software Weidong Li.
The LHCb simulation application, Gauss: design, evolution and experience M. Clemencic (CERN), G. Corti (CERN), S. Easo (RAL), C. Jones (Cambridge), S.
RICH Simulation in LHCb LHC Detector Simulation Workshop S.Easo, RAL, On behalf of LHCb–RICH group.
Pavel Nevski DDM Workshop BNL, September 27, 2006 JOB DEFINITION as a part of Production.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
1 Giuseppe G. Daquino 26 th January 2005 SoFTware Development for Experiments Group Physics Department, CERN Background radiation studies using Geant4.
Marco Cattaneo, 6-Apr Issues identified in sub-detector OO software reviews Calorimeters:18th February Tracking:24th March Rich:31st March.
M.Frank, CERN/LHCb Persistency Workshop, Dec, 2004 Distributed Databases in LHCb  Main databases in LHCb Online / Offline and their clients  The cross.
LHCb Software Week 25/11/99 Gonzalo Gracia Abril 1 r Status of Geant4 in LHCb. r Ideas on how to populate the LHCb Detector Description Data Base (LHCb.
LHCb Simulation LHCC Computing Manpower Review 3 September 2003 F.Ranjard / CERN.
The Generator Phase in Gauss
CMS High Level Trigger Configuration Management
Physics Software Towards first Physics data Reconstruction Alignment
EvtGen Miniworkshop, Patrick Robbe LAL Orsay, 21 Jan 2005
Patrick Robbe, LAL Orsay, 13 May 2004
European Organization for Nuclear Research
The LHCb Software and Computing NSS/IEEE workshop Ph. Charpentier, CERN B00le.
GAUSS - GEANT4 based simulation for LHCb
LHCb Software Tutorial
Markus Frank CERN/LHCb CHEP2013, Amsterdam, October 14th–18th 2013
HEP detector description supporting the full experiment life cycle
Issues with Simulating High Luminosities in ATLAS
LHCb-Italian Software Tutorial
US ATLAS Physics & Computing
Geant4:User Actions and Analysis
SW Architecture SG meeting 22 July 1999 P. Mato, CERN
Geometry checking tools
Linear Collider Simulation Tools
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Detector Description in LHCb
GAUSS - GEANT4 based simulation for LHCb
Summary of dE/dx studies in silicon and MS in muon system
Jupiter and Satellites
Simulation and Physics
Geant4 in HARP V.Ivanchenko For the HARP Collaboration
The LHCb Level 1 trigger LHC Symposium, October 27, 2001
ATLAS DC2 & Continuous production
Use of GEANT4 in CMS The OSCAR Project
Linear Collider Simulation Tools
Use Of GAUDI framework in Online Environment
Planning next release of GAUDI
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Presentation transcript:

The LHCb simulation application, Gauss: design, evolution and experience M. Clemencic (CERN), G. Corti (CERN), S. Easo (RAL), C. Jones (Cambridge), S. Miglioranzi (CERN), M. Pappagallo (Bari), P. Robbe (LAL) S. Miglioranzi

Event model / Physics event model The Gauss simulation application Gauss, the LHCb simulation application, mimics what happens in the spectrometer to understand experimental conditions and performance. It provides: generation of proton-proton collisions decays of particles with special attention to B decays tracking of particles in the detector and interactions with the material production of “hits" when particles cross sensitive detectors Simulation Gauss Recons. Brunel Analysis DaVinci MCHits Digits DST MCParts GenParts Event model / Physics event model AOD RawData Detector Description Conditions Database Gaudi Digit. Boole HLT Moore StrippedDST Data produced can be studied directly or in further processing (digitization, reconstruction,…) S. Miglioranzi

Gauss as a Gaudi Application Gauss is built on top of the Gaudi framework and follow its architectural design: Separation between “data” and “algorithms” Separation between “transient” and “persistent” representations of data Three basic categories of “data”: event data, detector data, statistical data “User code”(Gauss) encapsulated in few specific places (Algorithms, Tools) Well defined component “interfaces” http://cern.ch/proj-gaudi/welcome.html Algorithm Event Data Service Persistency Data Files Algorithms & Tools Transient Event Store Detec. Data Transient Detector Store Message JobOptions Particle Prop. Other Services Histogram Transient Histogram Store Application Manager Event Selector Gauss Event Generation Algorithms & Tools Detector Simulation Algorithms & Tools Simulation dedicated software Generator Libraries Geant4 Service (GiGa)

Two independent phases run in sequence: The Gauss Project Two independent phases run in sequence: Pythia, EvtGen JobOpts Interface … Initialize JobOpts HepMC MCParticle MCVertex MCHits POOL LHCb Event model Exchange model GiGa Geant4 Initialize Initialize HepMC Monitor Monitor Monitor Geometry Event Generation primary event generator specialized decay package pile-up generation Detector Simulation geometry of the detector (LHCb  Geant4) tracking through materials (Geant4) hit creation and MC truth information (Geant4  LHCb) S. Miglioranzi

The simulation sequence Random number reset Pile-up number determination (veto empty events)‏ Pythia Signal Generation in /Event/Gen/HepMCEvents Generator Sequence EvtGen t=0 Vertex Smearing Random number reset Generation -> G4 Primary Vertex Geant4 Simulation inside the detector Simulation Sequence Fill MCParticle/MCVertex/MCHits in /Event/MC/Particles... Digitization

Gauss Python Configuration In summer 2009 moved to a Python Configuration of the Gauss application: Basic option validation (types, names, etc.) Programming language (loops, logic, modularization, etc.) High level configuration (simple command for complex configuration tasks) Job option files C++-like syntax without checking simple parser Python files OOP language the Python configuration is based on Configurables Configurables are special python classes built from the C++ components (Services, Algorthms, Tools…) each Configurable instance has got a name that is unique by construction

Gauss Python Configuration High level configuration with Gauss Configurables: consistency checks can be performed e.g. monitoring algorithms run only for simulated subdetectors

New Generator classes structure The Generation algorithm is now using tools, i.e. modules, which can be plugged in the main algorithm steering the sequence of the event generation: Generation of number of pile-up events, IPileUpTool Generate N pp-collisions, ISampleGenerationTool Generation of beam parameters, IBeamTool Generation of p-p interactions, IProductionTool Decay of unstable particles, IDecayTool Cut at generator level, IGenCutTool Cut on full event properties, IFullEventCutTool Smearing of primary vertex. ISmearingTool different implementations for various tools: large amount of common code easier addition of new generator packages (p-p interactions by Pythia or HERWIG) better flexibility to introduce new ideas, for generator level cuts for example details about Primary Events Generation in Monday Poster Session (PO-MON-091)

Event model In 2005 complete revision of the LHCb Event Model MCVertex Generator History After Simulation MCHeader LHCb::GenHeader MCVertex Algorithms/Tools LHCb::GenCollision … MCParticle … LHCb::HepMCEvent MCHit All classes inherit from LHCb DataObject and containers (key/contained object) LHCb::HepMCEvent is the LHCb wrapper around HepMC

MC Event History MCHistory (i.e. what happened during the tracking of particles) is essential to understand efficiencies and physics effects LHCb event model MCHistory (i.e. MCParticle, MCVertex and their relation) filled at the end of the Geant4 event processing (not optimal). Need to find a way to have a clear picture. Geant4 does not have a tree structure to keep history (the only way to interact with tracks in G4 when a process occurs is in StepAction, unfeasible) introduced use of HepMC internally to Geant4 to provide such a tree structure we access a G4track to decide to “keep it” either when it is created to track it or when Geant stops tracking it. can decide a-priori what to store through job options (e.g. skip the optical photons, keep all products of decays in detector,…) introduced intermediate shower particle dealing with particles emitted by particles not disappearing HepMC::GenParticle can only have one end vertex can decide in algorithm transferring to MCParticles if to keep the split or not kept the ProcessType info stored intermediate not stored

SpillOvers (SO) in Gauss In 2009 the treatment of SO changed: previously treated in digitization application (Boole) using different input files (signal input file from Gauss and a minimum bias file merged) modified in order to generate spillover events in Gauss in a single file and a single job there is a single instance of Pythia, EvtGen, and Geant4 handling main event and SO events not a problem for Geant4 and EvtGen (decays): do not need to reconfigure the SO events Gen Seq #2 Pile-up number determination (allowing empty events)‏ Minimum Bias Generation in /Event/Prev/Gen/HepMCEvents Vertex Smearing Generation -> G4 Primary Vtx Simulation in detector Fill MCParticle/MCVertex/MCHit in /Event/Prev/MC/Particles... Sim Seq #2 Random number reset Pythia Pile-up number determination (veto empty events)‏ Gen Seq #1 Signal Generation in /Event/Gen/HepMCEvents t=0 EvtGen Vertex Smearing Random number reset Generation -> G4 Primary Vtx Geant4 Simulation in detector Sim Seq #1 Fill MCParticle/MCVertex/MCHit in /Event/MC/Particles... Digitization

LHCb geometry in the simulation Gauss converts the LHCb geometry to the Geant4 description: Converters and Service GiGaGeo GiGa Geometry Conversion Service “Geo” (Gaudi Algorithm) Transient Detector Store G4 geometry GiGa Service Geant4 Persistency Service geo DB conditions DB list of detector (tree) to convert Geo.StreamItems += {"/dd/Structure/LHCb/BeforeMagnetRegion/Velo"}; Geo.StreamItems += {"/dd/Structure/LHCb/BeforeMagnetRegion/Rich1"}; Geo.StreamItems += {"/dd/Geometry/BeforeMagnetRegion/Rich1/Rich1Surfaces"}; ...

same structure exists in G4 Geometry in the Simulation v200601-450GeV-CloseVelo-BOff.opts DetectorElement MuonStation Geometry Info IGeometryInfo Specific detector description LVolume PVolume Solid ISolid Detector Description Geometry IDetectorElement ILVolume SolidBox IPVolume * info about misalignment GiGaLVolumeCnv convert to G4 all its geometry tree GiGaDetectorElementCnv only called when given as StreamItems position as given in LHCb geo DB same structure exists in G4 Material Alignment v200601-450GeV-SemiOpenVelo-BOff.opts v200601-450GeV-OpenVelo-BOff.opts Limitation: Pass all detectors (elements) to mis-align in options of Geo.StreamItems Pass all detectors as same level to what to misalign Cannot apply mis-alignment to parent and children if information is in condition DB Solution (work in progress): re-engineering the conversion to G4 geo to take correctly into account the Detector Element structure

Gauss Monitoring When adopting a new version of Gauss, a complete set of tests is performed to ensure the quality of the simulation: nightly build tests (QMTests) data quality geometry validation (overlaps checks, material budget, hit multiplicities,…) physics validation specific generator tests (generation efficiencies,…)

Gauss automatic software testing New releases are built with about ~1/month frequency, plus patches for production when needed upcoming releases and development versions are tested in the LHCb nightly system set of Run Time tests (~10 QMTests) for specific simulation benchmark samples fast debug of detector or physics problems generator-only (signal events, different generators samples) and full chain tests (minbias) run both development and standard configurations

Data quality Integrating the complete set of Online Tools to monitor the Gauss output histograms: OnlineHistogramDB (sql-based) storing the display settings and configurations Online Presenter (GUI to display ROOT-based histos) Tools for Automatic Analysis can be run on the MC histos Set of Python scripts runs on logs and histos to produce statistic tables (generators efficiencies, comparison plots between versions…) updating html pages.

Geometry Validation Overlaps check Material Budget evaluation Every time the XML geometry description changes… Overlaps check Geant4 does NOT like volumes overlaps: Particle get stuck and event is (not) aborted Possible crashes Must ensure when all mis-alignments are taken into account no overlaps are present Geant4 DAVID visualization tool was used to detect the overlaps between the volumes and converted to a graphical representation for visualization purposes (95% overlaps turned out to be due to precision problems) Material Budget evaluation Radiation length evaluations performed periodically to compare the updates in the detector description: amount of material as seen by the particles at Geant4Step-level comparison with material as seen by the LHCb detector description

Geant4 Physics Validation Every time a Geant4 version is changed: main physics quantities are tested process-related simulation issues are kept under control Material interaction cross sections Validation done with Geant4.9.2.p03 (PLs: LHEP, QGSP_BERT, FTFP_BERT). Landau Most Prob. Value vs βγ Angular deviation RMS vs p G4 description of dE/dx in thin Si detectors G4 MCS simulation in case of large step sizes and dense material

Gauss in Production 2009 2010 DC06 2010 Event Types Total Events Event Types Total file size DC06 598M 155 129TB MC09 2791M 165 198TB 2010 663M 99TB 2010 Event Types CPU time on slc5 dedicated machine (2.8 GHz Xeon) MinBias 0.47 min/evt inclusive b 1.26 min/evt Bs->mumu 1.32 min/evt Stable memory consumption (~1.2 GB on slc5 64) Simulation 51% Analysis 29% Data Reconstruction 19% 2009 2010

Summary Gauss, the LHCb simulation package, is a Gaudi-based application used in production and by users for their studies since 2004 it has undergone several evolution steps in the last years to cope with crucial requirements as the handling of the MCHistory and the treatment of the SpillOvers MC productions on GRID allowed to successfully fulfill the needs and requirements of the LHCb Users different monitoring tools have been developed in order to guarantee the simulation quality

Backup

LHCb Designed to make precision measurement of CP violation and other rare phenomena in the b system at the LHC Trigger and reconstruct many different B decay modes to make independent and complementary measurements LHCb is a single arm forward spectrometer Forward production of bb, correlated Amount of material in tracker area kept as low as possible (0.6X0 up to RICH2) HCAL used mainly for trigger purpose 12 mrad < q < 300 (250) mrad i.e. 2.0 < h < 4.9