Glasgow SiD howto

The starting point is the sidloi3 model in lcgeo implemented by F. Gaede and based on the original sidloi3 compact file. This was tested by simulating single muons and reconstructing them (see lcgeo/example/run_sid_reco.xml).

Getting Started Tutorial

Tip, idea A detailed step by step tutorial can be found here: GlaSiDGettingStarted. If you are new to ilcsoft and DD4hep, it's best to start there.

Versions and paths

Note that some paths used in these wiki pages will change when various software components are upgraded (e.g. from gcc 4.8.1 to 4.8.4, ilcsoft v01-17-09 to v01-17-10 etc.). Always make sure you use the correct versions.

Building the model

The model is using the generic detector drivers in DD4hep. For the calorimeters (Ecal/Hcal) the current (Oct 2015) CLIC drivers were used in order to have the DDRec extensions that will eventually be needed by DDMarlinPandora.

full-SiD.png

To compile, from the local lcgeo/ directory:

source /cvmfs/sft.cern.ch/lcg/external/gcc/4.8.1/x86_64-slc6-gcc48-opt/setup.sh
export PATH=/cvmfs/sft.cern.ch/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/:$PATH
export LD_LIBRARY_PATH=/cvmfs/sft.cern.ch/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/lib/:$LD_LIBRARY_PATH
make -C build -j4 install

To check the geometry:

source ../config_dd4hep.sh
source ../dd4hep/bin/thisdd4hep.sh
source bin/thislcgeo.sh
geoDisplay SiD/compact/sidloi3/sidloi3_v00.xml

then from root prompt

root [1] gGeoManager->CheckOverlaps(0.01);
Info in <TGeoNodeMatrix::CheckOverlaps>: Checking overlaps for world_volume and daughters within 0.01
Check overlaps:      [==========]  129404 [100.00 %]           01
Info in <TGeoNodeMatrix::CheckOverlaps>: Number of illegal overlaps/extrusions : 6

Checking simulation+reconstruction chain

From lcgeo:

source /cvmfs/ilc.desy.de/sw/x86_64_gcc48_sl6/v01-17-07/Marlin/v01-06/build_env.sh
Marlin example/run_sid_reco.xml

See GlaSiDGettingStarted for recent SiDReconstruction.xml.

Implementing custom SiD ECal drivers

The initial implementations uses GenericCalBarrel_o1_v01 and GenericCalEndcap_o1_v01 drivers. The generic drivers will build the main detection volumes but will not include detailed structural components and/or subcomponents (e.g. stacks, towers, gaps, support elements).

ecal.png

View with:

geoDisplay SiD/compact/SiD_o1_v01/SiD_o1_v01.xml

Test with ECals only (other subdetectors commented in SiD_o1_v01.xml):

root [0] gGeoManager->CheckOverlaps(0.01);
Info in <TGeoNodeMatrix::CheckOverlaps>: Checking overlaps for world_volume and daughters within 0.01
Check overlaps:      [==========] 3039 [100.00 %]           00:00
Info in <TGeoNodeMatrix::CheckOverlaps>: Number of illegal overlaps/extrusions : 0

Note that general ECal parameters are defined in SiD_o1_v01.xml, e.g.

<constant name="EcalBarrel_half_length" value="1765.0*mm" />
<constant name="EcalBarrel_rmin" value="1265.0*mm" />
<constant name="EcalBarrel_rmax" value="1403.0*mm" />
<constant name="EcalBarrel_symmetry" value="12" />

etc., and used in EcalBarrel_o1_v01_00.xml.

Repository

The development version of the code is located in lcgeo/SiD/compact/SiD_o1_v01 in the DESY SVN repo, where the core DD4hep software and the CLIC and ILD models are stored as well. The naming convention for compact files is "DET_oX_vYY_ZZ.xml", e.g. EcalEndcap_o1_v01_00.xml. ALERT! Use svn cp DET.xm DET_oX_vYY_ZZ.xml to rename compact files while preserving SVN history. The C++ drivers can be found in lcgeo/detector/.

Adding HCal

Using the naming convention explained above, we add HcalBarrel_o1_v01_00.xml and HcalEndcap_o1_v01_00.xml. We also need to edit SiD_o1_v01.xml to add general HCal parameters. See the result here. Checked for illegal overlaps or extrusions and found none.

Adding other subdetectors

Plugins and readouts are now included in the individual detector's XML descriptions to make the model more modular (i.e. so that one can comment out sub-detectors from SiD_o1_v01.xml, if necessary).

Both LumiCal_o1_v01_00.xml and BeamCal_o1_v01_00.xl use DD4hep default drivers and some overlaps between the default envelopes have to be solved. See result here. Updated and tested MuonBarrel_o1_v01_00.xml, MuonEndcap_o1_v01_00.xml and Solenoid_o1_v01_00.xml were added (see table below).

The silicon trackers were updated and SiTrackerBarrel_o1_v01_00.xml and SiTrackerEndcap_o1_v01_00.xml were added to the SVN repo.

AllSiTrackersLumiCal.png

This is work in progress - watch this wiki (and the SVN repo) for updates.

StatusTable.png

Troubleshooting

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng AllCals.png r1 manage 40.6 K 2016-01-27 - 16:43 DanProtopopescu All calorimeters
PNGpng AllSiTrackersLumiCal.png r2 r1 manage 213.7 K 2016-05-19 - 12:17 DanProtopopescu All silicon trackers (Forward, Encap and Barrel) and LumiCal
PNGpng EcalHcalBarrel.png r1 manage 27.6 K 2016-01-13 - 16:44 DanProtopopescu Ecal + barrel Hcal
Compressed Zip archivetgz SiDLoI3-compact.tgz r1 manage 30.8 K 2015-12-15 - 11:30 DanProtopopescu Initial XML configuration (Oct 2015) from SVN
PDFpdf SiDparSep2015Model.pdf r1 manage 153.0 K 2015-12-15 - 11:21 DanProtopopescu SiD engineering driver (Sep 2015)
PNGpng StatusTable.png r4 r3 r2 r1 manage 185.5 K 2016-05-19 - 10:36 DanProtopopescu Implementation progress
PNGpng def.png r1 manage 11.7 K 2015-12-16 - 13:46 DanProtopopescu Inner and outer radii definitions
PNGpng ecal.png r2 r1 manage 26.3 K 2015-12-15 - 16:13 DanProtopopescu ECal modules only
PNGpng full-SiD.png r3 r2 r1 manage 149.1 K 2015-12-15 - 16:13 DanProtopopescu Full sidloi3 model
Topic revision: r19 - 2016-10-19 - DanProtopopescu
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback