You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

How the geometry is defined

Each geometry is a subdirectory of hps-detectors/detectors, and must contain the following:

  • compact.xml: defines the geometry in terms of detector modules, each of which corresponds to classes in GeomConverter - used by GeomConverter and LCSim
  • detector.properties: other (non-geometry) detector parameters
  • SamplingFractions: sampling fractions for each calorimeter
  • LCDD file for the geometry: generated from the compact.xml - used by SLIC

Current "official" geometries

Conventions followed for all geometries unless noted otherwise:

  • Beam spot on target defines (0, 0, 0); Y is vertical, Z points down the magnet bore

HPS-Proposal2014-v6 (three versions with different B-fields)

Official geometry for 2014 mock data challenge.

  • SVT rotated 30.52 mrad around target; single sensors for layers 1-3, double sensors with double readout (unganged) for layers 4-6
  • ECal flange face at z=1318 mm and photon hole aligned at 30.52 mrad from target
  • Front face of ECal crystals is z=1393 mm; ECal aligned so the 30.52 mrad photon beam intersects centerline of ECal at its front face
  • All dead material defined using Geant4 primitives: SVT vacuum chamber, ECal flange and vacuum chamber (with honeycomb)
  • Uniform magnetic field extending from z=-8.28 to 99.72 cm
  • Vacuum (zero density) planes at z=15 cm, same shape as standard SVT layers; hits are saved for charged particles passing through these planes (for use in recoil electron studies)
  • Vacuum (zero density) planes at magnetic field boundaries; hits are saved for charged particles passing through these planes

SLIC crashes on approximately 1 in a billion events. This bug is believed to be resolved in v7.

HPS-Proposal2014-v7 (three versions with different B-fields)

Working geometry for 2014 run studies. Changes will be announced on the hps-software list; you should rerun SLIC on all your data after any change since old data may not work with up-to-date versions of readout sim/analysis/reconstruction.

  • SVT rotated 30.52 mrad around target; single sensors for layers 1-3, double sensors with double readout (unganged) for layers 4-6
  • ECal flange face at z=1318 mm and photon hole aligned at 30.52 mrad from target
  • Front face of ECal crystals is z=1393 mm; ECal aligned so the 30.52 mrad photon beam intersects centerline of ECal at its front face
  • All dead material defined using Geant4 primitives: SVT vacuum chamber, ECal flange and vacuum chamber (with honeycomb)
  • Uniform magnetic field extending from z=-8.28 to 99.72 cm
  • Vacuum (zero density) planes at z=15 cm, same shape as standard SVT layers; hits are saved for charged particles passing through these planes (for use in recoil electron studies)
  • Vacuum (zero density) planes at magnetic field boundaries; hits are saved for all particles passing through these planes
  • Vacuum (zero density) planes just downstream of the ECal flange; hits are saved for all particles passing through these planes

HPS-Proposal2014-v8 (three versions with different B-fields)

  • Based on HPS-Proposal2014-v7
  • Added the ECAL crystal support structure in front of the crystals.
  • Added the ECAL cooling plates and pipes.

HPS-Proposal2014-v9-2pt2

  • HPSTracker2014 geometry type with millipede-friendly parameters

HPS-TestRun-v3

Official geometry for 2012 test run as-built.

  • Current best guess at alignment of SVT
  • Plate-and-pipe ECal flange
  • ECal as surveyed

Adding a new detector

  • ALWAYS create a new detector when you make changes to the geometry
  • make a subdirectory of hps-detectors/detectors; name of the subdirectory is the name of the detector
  • add name of the detector to detectors/taglist.txt
  • copy from another detector: compact.xml, detector.properties, SamplingFractions
  • in compact.xml: change name and comment in <info> block
  • in detector.properties: change name, change ConditionsReader if necessary (TestRunConditionsReader for 2012 test run, HpsConditionsReader for 2014 run) - both of these lines are required
  • Create the LCDD file for use in slic: see below

Converting the compact.xml file to LCDD

For production development, the latest up-to-date conversion code using the core lcsim detector-framework package should always be used.

Instructions for converting the compact.xml file to lcdd can be found at http://www.lcsim.org/sites/lcsim/lcsim-detector-framework/usage.html

For testing, one can also use the HPS jar files, as they have the lcsim packages embedded.

To do so, one needs to set the classpath and run the converter class from the trunk of the HPS installation

Note that in this example 3.0.2-SNAPSHOT will need to be appropriately modified

java -cp distribution/target/hps-distribution-3.0.2-SNAPSHOT-bin.jar org.lcsim.geometry.compact.converter.Mai

Viewing LCDD

The LCDD file can be viewed directly using SLIC:

slic -g mygeom.lcdd -n

This puts you in an interactive Geant4 session; here is a suggested series of commands (from How do I visualize with OpenGL):

/vis/scene/create
/vis/scene/add/volume
/vis/open OGLSX
/vis/viewer/refresh

There is a Python script that converts LCDD to GDML and views it in ROOT: DrawLCDD.py

  1. The script requires ROOT to be installed and in the path. It also requires ROOT to have the gdml module, but that is pretty standard by now.
  2. Invoke with -h for options. Main useful option would be to call with -N to only make the lcdd_cleaned.gdml file.
  3. It cannot show tessellated objects. These cause ROOT to crash, so tessellated stuff gets stripped.
  4. It pollutes your working directory with two files: lcdd_cleaned.gdml and lcdd_cleaned.C. The first is a pure gdml file, the second is a root script to render it.
  5. You can rotate and zoom in, make cutaway planes etc all using ROOT interactively. It is useful for checking your geometry.

Viewing GDML

ROOT can view GDML, but not tessellated volumes: How do I visualize with ROOT

Viewing HepRep

WIRED can view HepRep files and can be run as a JAS3 plugin.

  • No labels