North American Linear Collider Detector Simulations LCD • Use New Tools for Analysis • Full Simulation – flexible geometry specs within some constraints – Gismo for simulation tool – versatile output – full MC record of digis • platform support & MC Farms 9 Feb 2000 R.Dubois CHEP 2000 Padova, Italy – using Root for simulation analysis and FastMC – using JAS for all phases • see Tony Johnson’s JAS talk • Lessons learned LCD Road Map R.Dubois Generator(s) Gismo Material Files Generator Files Track Momentum Resolution Tables Parameter Files (JAS) Geometry Description Files Parameter Files (Root) stdHEP files fastMC (Root) fastMC (JAS) Gismo ASCII raw data ASCII recon JAS parser Root parser Root parser JAS parser .lcd files Root files Root files .lcd files Full Recon Root Analysis JAS 9 Feb 2000 analysis CHEP 2000 Padova, Italy Gismo: Full Simulation • Reasonably full-featured full simulation package - C++ • Output to ascii file (current) – complex geometries – EGS & GHEISHA • cutoffs set at 1 MeV – multiple scattering, dE/dx, etc • Generator input from /HEPEVT/ via FNAL STDHEP I/O package • Digitization supplied by ‘user’ – tracking • hit points at tracking/VXD layers – calorimeters • total energy per channel – muon strips – all digi’s have full MC record 9 Feb 2000 R.Dubois CHEP 2000 Padova, Italy – allows parsers to translate to JAS & Root for further analysis/processing e+e- ~~ nn R.Dubois Sample 5 GeV m+ 9 Feb 2000 CHEP 2000 Padova, Italy Full Sim: Geometry Elements R.Dubois • Most detector types are cylinders – input by ascii detector file – trackers and calorimeters can have inner/outer skins and endplates – tracker/VXD layers can be individually positioned and sized – user sets longitudinal cell composition (multi-materials allowed) and ‘sensitivity’ for calorimeters – special shapes added in with parameters to describe their variations • conical masks configurable • compound beampipe 9 Feb 2000 CHEP 2000 Padova, Italy R.Dubois Two Detector Designs • Large (v. L1, L2) • Small (v. S1, S2) – large! – small! – Large tracker – Small detector • optimal tracking resolution • larger B field possible – Large calorimeter – Small calorimeter • optimal separation of clusters • allows high granularity (Si/W) – Small tracker • Si strips/drift – size limits B field • may limit vertex detector inner radius due to e+e- pairs – large B field • better containment of pairs, closerin vertex detector 9 Feb 2000 CHEP 2000 Padova, Italy R.Dubois Pb-scint EM+HAD cal Coil Fe Muon Sys Cu-scint HAD cal W-Si EM cal Fe Muon Sys Coil Pixel VXD 9 Feb 2000 144 lyr TPC 6-lyr Si drift Pixel VXD CHEP 2000 Padova, Italy Small Detector: Central Detector 3 Tracker Doublets 1.1 mm G10, 600 mm Si r = 14, 42, 71 cm 5 EC Tracker disks z = 31, 61, 91, 121, 149 cm inner r follows cosq=0.99 Luminosity monitor (Si/W) active from 30-116 mrad 9 Feb 2000 CHEP 2000 Padova, Italy R.Dubois Barrel/Endcap Region R.Dubois • <E> 15% lower than barrel • s/<E> 15% higher B/EC Small (note different scales on plots) Barrel 9 Feb 2000 CHEP 2000 Padova, Italy R.Dubois Small EM Cal e+e- Si Tracker hits 9 Feb 2000 CHEP 2000 Padova, Italy ZZ R.Dubois Large e+e- TPC hits 9 Feb 2000 EM Cal CHEP 2000 Padova, Italy ZZ What You Get from FullSim • Tracking – hit ID – (x,y,z) of trajectory crossing layer – layer DE – ptr to MC parent – hit smearing held off until recon • MU Strips – hit ID (contains location) – list of MC parents • Full MC Truth Table – – – – – • Calorimeters – hit ID (contains location) – total energy deposited – list of (MC parents, DE) 9 Feb 2000 CHEP 2000 Padova, Italy (x,y,z) at termination point initial (px, py, pz) type & charge pointer to parent position & momentum at Cal front face R.Dubois LCD Event Class Structure R.Dubois Event TObjArray EM CAL Value: CalHit MC Particles Value: McPart HAD CAL Value: CalHit CAL Clusters Value: Cluster EDeposit MU CAL Value: CalHit LUM Clusters Value: Cluster Key: McPart Value: Energy LUM CAL Value: CalHit MU Strips Value: stripHit Track Value: Tracks Note: all hits, tracks & clusters have pointers back to parent MC. Clusters have pointers to constituent hits. VXD Hits Value: VXD_Hits Value: McPart 9 Feb 2000 Tracker Hits Value: Tracker_Hits CHEP 2000 Padova, Italy R.Dubois MC Farms & Platforms • MC Farms • Timing – ~2 mins/event for udscb 500 GeV on 400 MHz Solaris – SLAC, Michigan, Colorado, Penn – Code installed but yet to run production at Vanderbilt (DEC) & FNAL (Linux) • Platforms • data repository at Penn • ‘push’ scripts for file transfer from farms • server access via JAS • ftp access for Root 9 Feb 2000 CHEP 2000 Padova, Italy – – – – AIX Solaris DEC Unix Linux • call stack corruption: compiler bug • cannot optimize code – Windows R.Dubois T.Waite Serial Input Output (SIO) • The Objective • Provides – Provide an alternative to ASCII files which are by nature • Information lossy • Non dense – Enforce data versioning – Easily readable from C++ and Java • Not Part Of The Objective – A full object oriented serialization engine (a la Root or Objectivity) 9 Feb 2000 CHEP 2000 Padova, Italy – Architecture independent binary format (uses the xdr standard) – High integrity, self checking data layout – Multiple simultaneously open input and output streams – Heterogeneous record types on each stream – Pointer relocation (at record level) – Data compression/decompression (per record). J.Bogart Input: Why Use XML? • • • For 1st pass LCD used ad hoc file format, one-of-a-kind code for serial-only parsing of detector geom. XML is a standard meta-language for defining markup languages. Good free parsers exist, more tools coming. XML languages are plain-text, selfdocumenting. • Appl. interface to data (XML document) may be serial or random-access. • Avoid growing private file formats or, worse, hard-coding parameters. • Make it easy (well, easier) for several programs to use same input. J.Bogart Detector Description in XML Start subdetector <lcdparm> description <global file=“largeParms2.xml” /> <physical_detector topology=“large” id = “L2” > <volume id=“EM_BARREL” > <tube> <barrel_dimensions inner_r = “196.0” outer_z = “322.0” /> <layering n=“40”> Geometry, <slice material = “Pb” width = “0.4” /> materials <slice material = “Tyvek” width = “0.05” /> <slice material = “Polystyrene” width = “0.1” sensitive = “yes” /> </layering> <segmentation cos_theta = “300” phi = “300” /> </tube> function <calorimeter type = “em” /> </volume> End subdectector ... description J.Bogart To come... So far... • • • • Bigger, better utility layer • Support for other forms of input, e.g. analysis cuts Wrote a thin layer of utilities to provide more appropriate API. So far used by (but separate from) simulation only. Easy to port to Java. • Evolving specs in the XML family (DOM Level 2, Schemas,...) bear watching. Benefits of standard format, preexisting (free!) tools already apparent. • Other HEP (e.g. Atlas) and astrophysics (e.g. GLAST) experiments are doing similar things. Should coordinate efforts, aim for common XML DTDs/schema and supporting utilities. Parser (XML4C) a good choice but multi-platform headaches. Java version also exists. Beam Backgrounds Overlays • Background particles from Guinea Pig machine simulation • We plan to create a separate library of background events to overlay on top of the generator events. • Will have to apply cuts to the GP output to allow a reasonable particle count – • R.Dubois G.Bower 4000 Beamstrahlung particles in the Small detector (A normal event will have 88,000/bunch x 95 bunches/train) large fraction don’t get to the beampipe because of the B field (by design!) Then must overlay beam backgrounds, physics backgrounds and noise on top of true physics event (white lines are neutrals) 9 Feb 2000 CHEP 2000 Padova, Italy R.Dubois Gismo? • In ‘96. Gismo was the only OO C++ simulation package on the market • Gismo has bugs/features that need fixing – bug handling loopers – MC particle chain not optimal for bremms – no fluctuations on E loss – and a few others • GEANT4 only available to public in past year • Gismo does do full simulation with complex geometries • Gismo support is down to one person in GLAST – not so much interest in support as tool for HEP in general – little or no documentation • so what’s the problem? Future will need to include GEANT4 9 Feb 2000 CHEP 2000 Padova, Italy R.Dubois Lessons Learned • Provide Full MC parentage for understanding algorithms • e+e- detectors look pretty similar (except RICH!) – not hard to define user interface (ascii file) to describe important features – specialty items can be added as designs start to focus on details – XML does the job nicely • Gismo sufficed for startup of project prior to G4, but should switch • Hard to fully support more than one framework • Flexible I/O needed – must be easy to read from different analysis interfaces (eg C++, Java) – ascii is bad for numeric precision – ended up with xdr-based binary I/O 9 Feb 2000 CHEP 2000 Padova, Italy – tried to support JAS and Root – could not share code between them – had to write everything twice – was divisive – should have (and will) support one fully and the other only as able to take output from the other.