M.Frank CERN/LHCb Detector Description  Motivations and goals  Review and overview  Geant4 interface  Mokka drivers  …

Slides:



Advertisements
Similar presentations
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
Advertisements

Abstraction: Polymorphism, pt. 1 Abstracting Objects.
Struts 2.0 an Overview ( )
- Circle markers produced by TAsimage: They do not match was is produced on screen. The line width is too thick. Some other markers need to be tune a bit.
Framework for track reconstruction and it’s implementation for the CMS tracker A.Khanov,T.Todorov,P.Vanlaer.
Mokka and integration of the geometry AIDA kick-off meeting WP2 session: Common software tools 17 February 2011 – CERN Paulo Mora de Freitas and Gabriel.
SVX Software Overview Sasha Lebedev VTX meeting 09/07/ SVX Software web page:
Implementation of BeamCal in Mokka Alexandra Popescu, Aura Rosca West University of Timisoara FCAL Collaboration Meeting 6-7 May, Krakow, Poland.
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.
ALCPG October 25 th 2007 Hans Wenzel Calorimetry in slic How-to Motivation for dual readout Calorimeter What are our requirements Why did we choose SLIC.
Alignment Strategy for ATLAS: Detector Description and Database Issues
CHAPTER TEN AUTHORING.
Updating JUPITER framework using XML interface Kobe University Susumu Kishimoto.
Software Solutions for Variable ATLAS Detector Description J. Boudreau, V. Tsulaia University of Pittsburgh R. Hawkings, A. Valassi CERN A. Schaffer LAL,
Maria Grazia Pia Detector Response Acknowledgements: A. Lechner, J. Apostolakis, M. Asai, G. Cosmo, A. Howard.
CHEP 2003 March 22-28, 2003 POOL Data Storage, Cache and Conversion Mechanism Motivation Data access Generic model Experience & Conclusions D.Düllmann,
XML in Atlas: from generic to parametric detector description Stan Bentvelsen NIKHEF Amsterdam XML workshop, CERN, May 22.
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
R.T. Jones, Newport News, May The GlueX Simulation Framework GEANT4 Tutorial Workshop Newport News, May 22-26, 2006 R.T. Jones, UConn Monte Carlo.
STAR Sti, main features V. Perevoztchikov Brookhaven National Laboratory,USA.
ALCPG Software Framework Overview & Updates Jeremy McCormick, SLAC SiD Group ALCPG 2009.
Darmstadt, 15. November 2015 Tobias Stockmanns, FZ Jülich1 A STEP to ROOT converter for the FairRoot framework ALICE-FAIR Computing Meeting, GSI,
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
STAR STAR VMC tracker V. Perevoztchikov Brookhaven National Laboratory,USA.
The GeoModel Toolkit for Detector Description Joe Boudreau Vakho Tsulaia University of Pittsburgh CHEP’04 Interlaken.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
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.
TB1: Data analysis Antonio Bulgheroni on behalf of the TB24 team.
VMC workshop1 Ideas for G4 navigation interface using ROOT geometry A.Gheata ALICE offline week, 30 May 05.
CBM ECAL simulation status Prokudin Mikhail ITEP.
Interfaces About Interfaces Interfaces and abstract classes provide more structured way to separate interface from implementation
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
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.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Calorimeter Simulation Infrastructure Norman Graf Arlington ‘03.
Mokka, main guidelines and future P. Mora de Freitas Laboratoire Leprince-Ringuet Ecole polytechnique - France Linear collider Workshop 2004, Paris.
STAR VMC project Maxim Potekhin for the STAR Collaboration VMC workshop at CERN Nov
DD4hep-Based Simulation Nikiforos Nikiforou CERN/PH-LCD ILD Meeting 2014 Oshu City, September 9 th, 2014.
Geant4 release 5.1 summary Gabriele Cosmo EP/SFT.
Update G4builder issues Talk written almost entirely by Stan Bentvelsen with a few updates from Christopher Lester ATLAS G4 Workshop December 2000 CAMBRIDGE.
Prospects for Integrating Veloroot into GAUDI D. Steele - 24/11/1999.
DD4hep-Based Reconstruction N. Nikiforou, CERN/PH-LCD On behalf of the CLICdp Collaboration and the Linear Collider DD4hep WG 03 November 2015N.Nikiforou,
Marco Cattaneo, 6-Apr Issues identified in sub-detector OO software reviews Calorimeters:18th February Tracking:24th March Rich:31st March.
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
Slic A Geant4-based detector simulation package Jeremy McCormick, Norman Graf, Ron Cassell, Tony Johnson SLAC June 8, 2006.
Detector Description (Overview) C.Cheshkov. 25/9/2006Detector Description (C.Cheshkov)OutlineTerminology Overview on: Detector geometry implementation.
M.Frank, CERN/LHCb Persistency Workshop, Dec, 2004 Distributed Databases in LHCb  Main databases in LHCb Online / Offline and their clients  The cross.
VI/ CERN Dec 4 CMS Software Architecture vs Hybrid Store Vincenzo Innocente CMS Week CERN, Dec
CSCE 240 – Intro to Software Engineering Lecture 3.
This was written with the assumption that workbooks would be added. Even if these are not introduced until later, the same basic ideas apply Hopefully.
Object-Oriented Track Reconstruction in the PHENIX Detector at RHIC Outline The PHENIX Detector Tracking in PHENIX Overview Algorithms Object-Oriented.
AliRoot survey: Calibration P.Hristov 11/06/2013.
1 SLAC simulation workshop, May 2003 Ties Behnke Mokka and LCDG4 Ties Behnke, DESY and SLAC MOKKA: european (france) developed GEANT4 based simulation.
JUNO Offline Geometry Management
GEANT4 for Future Linear Colliders
A C++ generic model for the GLAST Geometric Description
slicPandora: slic + pandoraPFANew
Geant4 Geometry Objects Persistency using ROOT
Markus Frank CERN/LHCb CHEP2013, Amsterdam, October 14th–18th 2013
HEP detector description supporting the full experiment life cycle
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Various News From Detector Description
Detector Description in LHCb
Relational Algebra Chapter 4, Sections 4.1 – 4.2
Class Diagrams.
MUC simulation and reconstruction
Use of GEANT4 in CMS The OSCAR Project
Games Development 2 Entity / Architecture Review
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Presentation transcript:

M.Frank CERN/LHCb Detector Description  Motivations and goals  Review and overview  Geant4 interface  Mokka drivers  …

M.Frank CERN/LHCb DD4hep Status

M.Frank CERN/LHCb Design Principles (1)  Separation of data and behavior  Data are fully accessible (no encapsulation!)  Behavioral classes are wrappers around objects containing data only  There may be many behavioral wrapper implementations using the same data objects  User chooses “most suitable” behavior  One “data-object” may be shared among many behavioral wrapper instances

M.Frank CERN/LHCb Design Principles (2)  The geometry implementation is based on TGeo(ROOT)  Take advantage of existing functionality  if necessary extend  TGeo has support for alignment, visualization, etc.  Increasing usage of the ROOT plugin mechanism  instantiate specialized components  Detector elements  Readout segmentations  Sensitive detectors

M.Frank CERN/LHCb [My] Goals for These Two Days  Establish a roadmap how to proceed  Get an idea which activity to emphasize  Use of the detector description in simulation eventually replace existing simulation  Use of the detector description in reconstruction emulate (or replace) gear?  Use for alignment  …

M.Frank CERN/LHCb Geometry Expansion  From compact xml file  No strict dtd  Cascaded xml parsing. Example:  Geometry description  Geant4 setup  Expansion with python possible (=>Pere)

M.Frank CERN/LHCb Display Geometry Recon- struction Geant4 Detector Description: LCDD Sections and Clients Implicitly contains geometry description

M.Frank CERN/LHCb DD4Hep: DetElement Description Detectors Readout Visualization DetElement id name type Envelope [TGeoShape] Log.Volume [TGeoVolume] 0…n volume: 1 visattr: 0…1 0…1 mother 1 Material [TGeoMedium] 1 volumeRef 1 [TGeoMatrix] transform: 1 solidRef 1 detector: 1 materialRef 1 GDML content children 1..n PlacedVolume [TGeoNode] placements: 0…1 Alignment Conditions  ROOT only provides the geometry  Rest is us

M.Frank CERN/LHCb Shapes and Solids  Palette ~complete. New shapes added on demand.

M.Frank CERN/LHCb Specialized Detector Elements  Central element of the detector description  Describes subdetector hierarchy  Requires flexibility and extensibility  Flexibility: Specialize the behavior of your DetElement  Specialized access to the (sub)detector hierarchy tree  Implement specialized wrapper using existing detector element hierarchy  Possibility to cache 3 transformations  to parent  to world  to self-defined detector element

M.Frank CERN/LHCb Extended Detector Elements  The “flexible” approach with wrappers defines flexible behavior using the same data  Pure wrappers tend to be slow if complicated calculations need to be redone for every query  It is not possible to store subdetector specific parameters, which are not described by the geometry example: TPC pad-height, pad-width etc.  To ensure fast operations specialized wrappers must be able to store extra subdetector parameters and take advantage of local cache  local extensible cache must be provided  Cannot be planned: different wrappers for the same DetElement may maintain different caches

M.Frank CERN/LHCb Extended Detector Elements  Two approaches implemented  Extend underlying data object using inheritance  Possible once, at construction  Attach extension object (see Astrid’s work)  Identified by typeinfo  Any number of objects  Attachments for  Simulation  Reconstruction  …

M.Frank CERN/LHCb DetElement Extensions: Example MyExtension* e = new MyExtension(...); DetElement* d = lcdd.detector(“TPC”); d.addExtension (e); Extension* e = d.extension ();  Extensions exist for “DetElement”, “SensitiveDetector” and “Segmentation” objects  Extension using inheritance exist for “Segmentation” objects for building fleaxible readout-descriptions  Extensions must have a destructor and a copy constructor

M.Frank CERN/LHCb Detector Element Status  Detector reflections  Require deep copies of DetElement trees  Clones extensions  For inherited extensions, subclasses must implement “clone” method – acceptable or confusing ?

M.Frank CERN/LHCb Fields  Interface present  Backend for constant, homogeneous or dipole field  User defined fields supported with plugin mechanism <field type="SolenoidMagnet" name="GlobalSolenoid" inner_field="5.0*tesla" outer_field="-1.5*tesla" zmax="SolenoidCoilOuterZ“ outer_radius="SolenoidalFieldRadius" />

M.Frank CERN/LHCb Conventions & Guidelines Stuff to sort out  Several decisions should be taken (next slides)  Technical stuff – should be simple  Need policies for homogeneous code  No detector description framework does liberate a user  To use the brain  It is mandatory, that the DetElement hierarchy is sensible  Otherwise you may display the detector  but the detector description may not be useful to serve other tasks  It would be good if we could establish a set of guidelines how to partition a given subdetector into detector elements

M.Frank CERN/LHCb Conventions: Rotations  Rotations: is the notation correct ? theta/phi/psi theta/psi/phi (closer to cylindrical)(around x,y,z axis) (into ring, up, beam)  ROOT uses Euler angles (phi, theta, psi) or Geant3 (polar,azimut of all 3 axis)  Triviality, things only need to be consistent  Need a convention – otherwise this will lead to confusion no end  Which is the usual convention ?

M.Frank CERN/LHCb Conventions: Compact Detector Conversion  Callbacks now support 1 sensitive detector/subdetector  Looks like not suitable for Mokka endcap A – barrel - endcap B are one subdetector But typically have different sensitive detectors  Maybe create and register sensitive detectors by hand?  No real restriction, but things may become confusing static Ref_t create(LCDD& lcdd, const xml_h& elt, SensitiveDetector& sens) { ECAL ecal(lcdd,elt,sens); return ecal; } DECLARE_DETELEMENT(SEcal03,create);

M.Frank CERN/LHCb Conventions: Compact Detector Conversion  Currently 1 high level DetElement/subdetector  Obviously OK for SLIC: model design  Mokka: endcapA, endcapB and barrel are 1 subdetector  Can be combined, but is this good?  Possible solution – like for sensitive detectors  Drivers create and register the detector elements  But why should then be the basic DetElement “special”?

M.Frank CERN/LHCb Thanks, which do not work  Wireframe displays currently do not work  + probably various other aspects, which only show up once the feature is used (ask Astrid!)

M.Frank CERN/LHCb Next: Geant4

M.Frank CERN/LHCb Geant 4 Gateway (1)  Idea: - walk through the geometry starting from “world” - convert the geometry from ROOT to Geant4 - all runs by magic  unfortunately this was a little bit naive  Geometry is automatically converted to Geant4  Materials  Solids  Limit sets  Regions  Logical volumes  Placed volumes / physical volumes  Fields  Sensitive detectors

M.Frank CERN/LHCb Geant 4 Gateway (2)  The problem are the sensitive detectors  Coupled to the detector construction  Coupled to the reconstruction, MC truth and Hit production  At LHC each experiment has it’s own set of SDets  Is this necessary ?  I added two simple sensitive detector types  one for tracking devices  one for calorimeter devices  But I doubt these two are sufficient  Hope: a well organized palette of useful SDets  Unfortunately I am not very experienced with this topic

M.Frank CERN/LHCb Geant 4 Gateway (3)  How should the sensitive detectors be organized ?  Sensitive detector hierarchy ?  One per subdetector, then dispatch  Is it enough to provide a palette of sensitive detectors ?  Which fit all possible detectors ?  How should they look like ?  Which stepping information must be stored ? Sorting out this issue will be essential for “generic” simulation programs

M.Frank CERN/LHCb Geant 4 Gateway Instantiation of sensitive detectors  Geant4 setup is performed by cascaded interpretation of second xml input  Avoid proliferation of geometry description  Setup Geant4 sensitive detectors <sd name="SiVertexBarrel" type="Geant4Tracker" ecut="10.0*MeV" verbose="true" hit_aggregation="position">

M.Frank CERN/LHCb Geant 4 Gateway Field, Steppers & Co.  Setup arbitrary objects with name value pairs  Used to define steppers and motion equations <attributes name="geant4_field" id="0" type="Geant4FieldSetup" object="GlobalSolenoid" global="true“ eps_max="0.001*mm" stepper="HelixSimpleRunge" equation="Mag_UsualEqRhs">

M.Frank CERN/LHCb Geant4: Proof  The basic mechanism works  Tried out with the ILDExDet(ector)  Geant4 ran on it  Saving the ROOT converted Geant4 geometry to GDML and reading it back with ROOT gives an identical result (no vis.attrs.)

M.Frank CERN/LHCb Mokka Conversion  First attempt  Code not terribly structured  Let’s finish with a few nice pictures…  All previously encountered problems were encountered

M.Frank CERN/LHCb Model: LDC00_01Sc vxd03

M.Frank CERN/LHCb Model: LDC00_01Sc mask04 sit00 ftd01 lumicalX

M.Frank CERN/LHCb Model: LDC00_01Sc coil00 yoke02 tpc02 lumicalX

M.Frank CERN/LHCb Model: LDC00_01Sc SEcal03

M.Frank CERN/LHCb Model: LDC00_01Sc  Geometry needs debugging  Visual inspection is probably not enough…  I see a gap between ECAL barrel and endcap  Is it real (for cables ….)?  or is it simply a bug? SEcal03

M.Frank CERN/LHCb This Exercise …  Has effectively shown all issues to be sorted out  Only the geometry is described  Hence the nice pictures  but besides these, this detector description is of limited usefulness … say: the brain was not used effectively  No sensitive detectors were assigned  No logical division into individual DetElements was done  Will be next step  Should not be too difficult, since logical detector parts tend to follow the main geometrical partitioning such as: Barrel => Staves => Modules

M.Frank CERN/LHCb Alignment

M.Frank CERN/LHCb Alignment Rotate and/or reposition

M.Frank CERN/LHCb Alignment: Usage in xml file <!-- -->

M.Frank CERN/LHCb Alignment  The interface is quite rudimentary and primitive  Allow the basic actions rotate and reposition shapes defined in the ideal geometry  Must evolve with input from users  Several uncertainties  The addressing of placed volumes is difficult to understand.  “Copy” number of volume in mother  Is xml the appropriate database format ?  How to improve ?

M.Frank CERN/LHCb Backup slides

M.Frank CERN/LHCb Motivation and Goal (1)  One detector description for the experiment’s lifecycle  DD requirements are not fixed  …they depend on experiment life cycle  Parameterization of ideal detector  After TDR: Transition from parameterized detector to real description  Readout structure  Alignment constants  Calibration constants Detector opt. CDR / LOI Detector opt. Construction TDR Operation LCD is here Shown summer 2011

M.Frank CERN/LHCb Motivation and Goal (2)  One detector description for all activities of the experiment  Simulation  Reconstruction  Analysis  Operation: Alignment, calibration, etc.  Visualization

M.Frank CERN/LHCb [My] Goals for These Two Days  Establish a roadmap how to proceed  Get an idea which activity to emphasize  Use of the detector description in simulation eventually replace existing simulation  Use of the detector description in reconstruction emulate (or replace) gear?  Use for alignment  …

M.Frank CERN/LHCb This is where we want to arrive: SLIC Generic G4 Driver Database (Mokka) get params Geant4 Detailed Geometry create volumes / vis attrs -Reconstruction -Alignment -Analysis Processor(s) Access according to needs detailed geo + visualization attrs Geant4 Visualization Event Display Parametrized Geo. geometry + visualization attrs There would be only one left for all subdetectors and all models Alignment const. Calibration const. Visualization attrs. Detector Description Geometry Expansion feed detailed geometry Shown summer 2011