LHCb Simulation Tutorial CERN, 21 st -22 nd February 2012 01 10 100 111 01 1 01 01 00 01 01 010 10 11 01 00 B 00 l e How to pass a detector geometry to.

Slides:



Advertisements
Similar presentations
Magnet mur de plomb PRS, SPD Photo: Peter Ginter.
Advertisements

M. D'Amato, M. Mennea, L.Silvestris INFN-Bari CMS Data Model 9-11 Aprile 2001, Catania I Workshop INFN Grid CMS DATA MODEL M. D’Amato, M. Mennea, L. Silvestris.
25/03/2003Simulation Application for the LHCb Experiment CHEP March 2003 Presented by: W. Pokorski / CERN Authors: I. Belyaev, Ph. Charpentier,
Steven Blusk, Syracuse University -- 1 Update on Global Alignment Steven Blusk Syracuse University.
Using ROOT geometry for FVTX reconstruction Zhengyun You Peking University Los Alamos National Lab Jan 22, 2007.
LHCb Simulation Tutorial CERN, 21 st -22 nd February B 00 l e Detector Simulation and Geant4.
Eduardo Rodrigues, Glasgow University LHCb Alignment Working Week, CERN, 7-12 Jan How to work with different databases implementing misalignments.
ALICE Offline week, CERN 21 February 2005 I. Hrivnacova 1 New geometry framework in MUON I.Hrivnacova IPN, Orsay ALICE Offline week, CERN 21 February 2005.
Conditions DB in LHCb LCG Conditions DB Workshop 8-9 December 2003 P. Mato / CERN.
Alignment Strategy for ATLAS: Detector Description and Database Issues
CERN Tutorial, September Job Options and Printing.
Job Options and Printing 1 LHCb software tutorial - September 2011.
Software Solutions for Variable ATLAS Detector Description J. Boudreau, V. Tsulaia University of Pittsburgh R. Hawkings, A. Valassi CERN A. Schaffer LAL,
Tracker Misalignment Study David Forrest University of Glasgow.
Bookkeeping Tutorial. Bookkeeping & Monitoring Tutorial2 Bookkeeping content  Contains records of all “jobs” and all “files” that are created by production.
ALICE Simulation Framework Ivana Hrivnacova 1 and Andreas Morsch 2 1 NPI ASCR, Rez, Czech Republic 2 CERN, Geneva, Switzerland For the ALICE Collaboration.
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
Reconstruction Configuration with Python Chris Jones University of Cambridge.
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.
Detector Description in LHCb (Extended Version) Detector Description Workshop 4 July 2002 S. Ponce - CERN.
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.
LHCb Simulation Tutorial CERN, 21 st -22 nd February B 00 l e Detector Simulation Examples.
GAUDI Muon Software  Algorithms : Muon Digitization MuonL0Trigger MuonIdentification  Detector Description Database  Transient Detector Store  Detector.
Bookkeeping Tutorial. 2 Bookkeeping content  Contains records of all “jobs” and all “files” that are produced by production jobs  Job:  In fact technically.
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
Bologna Tutorial, April Job Options and Printing.
The LHCb simulation application, Gauss: design, evolution and experience M. Clemencic (CERN), G. Corti (CERN), S. Easo (RAL), C. Jones (Cambridge), S.
Ken Wyllie, CERN LHCb power supplies, 19th May Does each sub-detector have enough power supplies for the upgrade???? If not, do they need: More.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
Gloria Corti, CERN Credits to Chris Jones, Wouter Hulsbergen, Sajan Easo, Dima Popov Computing Workshop Online/Databases/Detector Description Session Paris.
The V-Atlas Event Visualization Program J. Boudreau, L. Hines, V. Tsulaia University of Pittsburgh A. Abdesselam University of Oxford T. Cornelissen NIKHEF.
Marco Cattaneo, 6-Apr Issues identified in sub-detector OO software reviews Calorimeters:18th February Tracking:24th March Rich:31st March.
LHCb Simulation Tutorial CERN, 21 st -22 nd February B 00 l e Detector Simulation Examples.
Calorimeter global commissioning: progress and plans Patrick Robbe, LAL Orsay & CERN, 25 jun 2008.
Detector Description (Overview) C.Cheshkov. 25/9/2006Detector Description (C.Cheshkov)OutlineTerminology Overview on: Detector geometry implementation.
Root and muon calibration at Daya Bay Deb Mohapatra.
M.Frank, CERN/LHCb Persistency Workshop, Dec, 2004 Distributed Databases in LHCb  Main databases in LHCb Online / Offline and their clients  The cross.
LHCb Alignment Strategy 26 th September 2007 S. Viret 1. Introduction 2. The alignment challenge 3. Conclusions.
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
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.
M. Clemencic (CERN), G. Corti (CERN),
GAUSS GiGa (G4 Interface for Gaudi Geant 4
The LHCb Installation Story
Migration of reconstruction and analysis software to C++
Physics Software Towards first Physics data Reconstruction Alignment
Global Alignment in LHCb Steve Blusk Syracuse University
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
LHCb-Italian Software Tutorial
XML in LHCb Detector Description Framework Radovan Chytracek CERN
In Class Program: Today in History
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Detector Description in LHCb
GAUSS - GEANT4 based simulation for LHCb
Simulation and Physics
Geant4 in HARP V.Ivanchenko For the HARP Collaboration
LHCb Alignment Strategy
Muon Group Software Report
Major Design Criteria Clear separation between “data” and “algorithms”
Discussion on managing the coexistence of CDF and XML geometry files
Detector Geometry Description
Use of GEANT4 in CMS The OSCAR Project
Detector description News
Planning next release of GAUDI
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Calibration Infrastructure Design
Presentation transcript:

LHCb Simulation Tutorial CERN, 21 st -22 nd February B 00 l e How to pass a detector geometry to Geant4 Modeling the geometry with Geant4

Making the geometry known to Geant4 Geant4 Persistency Service Data Files Transient Event Store Persistency Service Data Files Transient Detector Store GiGa Service G4 Hits G4 Kine Kine ‘Convertion’ Algorithms Action Hits ‘Conversion’ Algorithms G4 Geom GiGaGeom Conversion Service Gauss (Gaudi) Gauss uses a dedicated set of services, algorithm and converters to transform the geometry to simulate into the Geant4 description Simulation Tutorial - Feb Geometry To Geant4

Geant4 Persistency Service geo DB Transient Detector Store GiGa Service GiGa Geometry Conversion Service “Geo” (Gaudi Algorithm) Converters and GiGaGeo Service G4 geometry G4 geometry Transferring the geometry in practice condition DB from Configurables import GiGaInputStream geo = GiGaInputStream( ” Geo ”, ConversionSvcName=“GiGaGeo”, DataProviderSvc=‘DetectorDataSvc’, ExecuteOnce=True ) geo.StreamItems += ["/dd/Structure/LHCb/BeforeMagnetRegion/Rich1”] geo.StreamItems += ["/dd/Geometry/BeforeMagnetRegion/Rich1/Rich1Surfaces”] from Configurables import GiGaInputStream geo = GiGaInputStream( ” Geo ”, ConversionSvcName=“GiGaGeo”, DataProviderSvc=‘DetectorDataSvc’, ExecuteOnce=True ) geo.StreamItems += ["/dd/Structure/LHCb/BeforeMagnetRegion/Rich1”] geo.StreamItems += ["/dd/Geometry/BeforeMagnetRegion/Rich1/Rich1Surfaces”] Example from Gauss() List of detectors (elements) to give to model to Geant4 as property of the algorithm Simulation Tutorial - Feb Geometry To Geant4

Positions and calibrations Detector information varying with time is separate from the geometry structure DetectorElement MuonStation Geometry Info IGeometryInfo Specific detector description LVolume PVolume Solid ISolid Detector Description Geometry IDetectorElement ILVolume Solid SolidBox IPVolume * info about misalignment GiGaLVolumeCnv convert to G4 all its geometry tree with their positions GiGaDetectorElementCnv only called when given as StreamItems position as given in geometry tree Same geometry tree exists in G4 Material Alignment Exploited in a 1 to 1 mapping when passing the information to G4 Simulation Tutorial - Feb Geometry To Geant4

Positions and misalignment To take into account the misalignment from the DetectorElement take the geometry information from it instead of the Physical Volume but… There must be a single one-to-one correspondence between a PhysicalVolume and a DetectorElement Children are positioned with respect to their parents and it is not possible to take into account misalignment of both parent and child volume automatically Must pass all detectors (elements) to misalign as options of Geo.StreamItems Also pass all geometry at the same level to what needs to be misaligned CloseVelo SemiOpenVelo OpenVelo Simulation Tutorial - Feb Geometry To Geant4

LHCb predefined geometries The standard configuration of the LHCb detector to model is predefined in the Gauss() configurable The standard detectors can be switched on/off via Gauss() It provides internal checking and takes care of special cases as when geometry changes with databases - 6Geometry To Geant4 Simulation Tutorial - Feb from Configurables import Gauss print Gauss() -DetectorGeo = {'VELO': ['Velo', 'PuVeto'], 'MUON': ['Muon'], 'TT': ['TT'], 'IT': ['IT'], 'MAGNET': True, 'RICH': ['Rich1', 'Rich2'], 'CALO': ['Spd', 'Prs', 'Ecal', 'Hcal'], 'OT': ['OT']} from Configurables import Gauss print Gauss() -DetectorGeo = {'VELO': ['Velo', 'PuVeto'], 'MUON': ['Muon'], 'TT': ['TT'], 'IT': ['IT'], 'MAGNET': True, 'RICH': ['Rich1', 'Rich2'], 'CALO': ['Spd', 'Prs', 'Ecal', 'Hcal'], 'OT': ['OT']} From python prompt: Gauss().DetectorGeo = {'VELO': ['Velo', 'PuVeto'], 'MUON': [], 'TT': ['TT'], 'MAGNET': True, 'RICH': ['Rich1’], 'IT': ['IT'], 'OT': ['OT’], 'CALO': [],} Gauss().DetectorGeo = {'VELO': ['Velo', 'PuVeto'], 'MUON': [], 'TT': ['TT'], 'MAGNET': True, 'RICH': ['Rich1’], 'IT': ['IT'], 'OT': ['OT’], 'CALO': [],} Switch off everything after the trackers but for beam pipe

Not predefined geometry New geometry can be added in the Gauss configurable or for private development adding it directly to the “Geo” algorithm items list Gauss() takes care of consistency but … When switching off geometry make sure you also switch off the corresponding retrieval of hits and monitoring Some infrastructure not yet controllable. A finer granularity will be provided via the Gauss() configurable 7Geometry To Geant4 Simulation Tutorial - Feb Gauss().DetectorSim = {'VELO': ['Velo', 'PuVeto'], 'TT': ['TT'], 'MAGNET': True, 'RICH': ['Rich1’], 'IT': ['IT'], 'OT': ['OT’], 'CALO': [], 'MUON': []} Gauss().DetectorMoni = … Gauss().DetectorSim = {'VELO': ['Velo', 'PuVeto'], 'TT': ['TT'], 'MAGNET': True, 'RICH': ['Rich1’], 'IT': ['IT'], 'OT': ['OT’], 'CALO': [], 'MUON': []} Gauss().DetectorMoni = … geo = GiGaInputStream( ” Geo ”) geo.StreamItems.remove(‘/dd/Structure/MagnetRegion/PipeInMagnet’) geo = GiGaInputStream( ” Geo ”) geo.StreamItems.remove(‘/dd/Structure/MagnetRegion/PipeInMagnet’) Must be switched off via “Geo” algorithm

Not standard behavior In some cases the checks in Gauss() prevent changing things if you know what you are doing you can force the behavior 8Geometry To Geant4 Simulation Tutorial - Feb def wholeVeloGeometry(): from Configurables import GiGaInputStream geo = GiGaInputStream('Geo') geo.StreamItems += ["/dd/Structure/LHCb/UpstreamRegion/Velo"] appendPostConfigAction(wholeVeloGeometry) def wholeVeloGeometry(): from Configurables import GiGaInputStream geo = GiGaInputStream('Geo') geo.StreamItems += ["/dd/Structure/LHCb/UpstreamRegion/Velo"] appendPostConfigAction(wholeVeloGeometry) To be done with extreme care!! And only as a last resort!!

Checking! Always check what you are doing! 9Geometry To Geant4 Simulation Tutorial - Feb gaudirun.py –n –v $DECFILESROOT/options/ py $LBPGUNSROOT/options/PGuns.py MyOwnOptions.py $GAUSSOPTS/GaussJob.py gaudirun.py –n –v $DECFILESROOT/options/ py $LBPGUNSROOT/options/PGuns.py MyOwnOptions.py $GAUSSOPTS/GaussJob.py Does not execute the job Shows the full python configuration 'Geo': {'ConversionSvcName': 'GiGaGeo', 'DataProviderSvcName': 'DetectorDataSvc’, ‘ExecuteOnce': True, 'StreamItems': ['/dd/Structure/LHCb/DownstreamRegion/PipeDownstream', … '/dd/Structure/LHCb/BeforeMagnetRegion/Velo/VacTank', '/dd/Structure/LHCb/BeforeMagnetRegion/Velo/VeloRight/RFFoilRight', '/dd/Structure/LHCb/BeforeMagnetRegion/Velo/VeloLeft/RFFoilLeft', '/dd/Structure/LHCb/BeforeMagnetRegion/Velo']}, 'Geo': {'ConversionSvcName': 'GiGaGeo', 'DataProviderSvcName': 'DetectorDataSvc’, ‘ExecuteOnce': True, 'StreamItems': ['/dd/Structure/LHCb/DownstreamRegion/PipeDownstream', … '/dd/Structure/LHCb/BeforeMagnetRegion/Velo/VacTank', '/dd/Structure/LHCb/BeforeMagnetRegion/Velo/VeloRight/RFFoilRight', '/dd/Structure/LHCb/BeforeMagnetRegion/Velo/VeloLeft/RFFoilLeft', '/dd/Structure/LHCb/BeforeMagnetRegion/Velo']}, Snippet of what would you see if you only use what in previous page It is probably NOT what you want...