Skip to content
Snippets Groups Projects
Commit 0189c6d2 authored by Marshall Scott's avatar Marshall Scott
Browse files

Merge branch '24-implement-ci_hcal' of...

Merge branch '24-implement-ci_hcal' of eicweb.phy.anl.gov:EIC/detectors/reference_detector into 24-implement-ci_hcal
parents 6fb452b5 4ff6b87c
No related branches found
No related tags found
No related merge requests found
This commit is part of merge request !12. Comments created here will be created in the context of that merge request.
Showing
with 1333 additions and 135 deletions
...@@ -12,6 +12,7 @@ default: ...@@ -12,6 +12,7 @@ default:
before_script: before_script:
- mkdir -p images && mkdir -p doc/ - mkdir -p images && mkdir -p doc/
- git clone https://eicweb.phy.anl.gov/EIC/detectors/accelerator.git && ln -s accelerator/eic - git clone https://eicweb.phy.anl.gov/EIC/detectors/accelerator.git && ln -s accelerator/eic
- git clone https://eicweb.phy.anl.gov/EIC/detectors/ip6.git eic_ip6 && mkdir ip6_build && cd ip6_build && cmake ../eic_ip6/. -DCMAKE_INSTALL_PREFIX=/usr/local && make -j20 && make install && cd .. && ln -s eic_ip6/ip6
- mkdir build && cd build && cmake ../. -DCMAKE_INSTALL_PREFIX=/usr/local && make -j20 && make install && cd .. - mkdir build && cd build && cmake ../. -DCMAKE_INSTALL_PREFIX=/usr/local && make -j20 && make install && cd ..
artifacts: artifacts:
paths: paths:
...@@ -35,6 +36,8 @@ env: ...@@ -35,6 +36,8 @@ env:
- | - |
if [[ "x${CI_PIPELINE_SOURCE}" == "xmerge_request_event" || "$CI_COMMIT_BRANCH" == "master" ]]; then if [[ "x${CI_PIPELINE_SOURCE}" == "xmerge_request_event" || "$CI_COMMIT_BRANCH" == "master" ]]; then
export JUGGLER_DETECTOR_VERSION="${CI_COMMIT_REF_NAME}" export JUGGLER_DETECTOR_VERSION="${CI_COMMIT_REF_NAME}"
echo "BEAMLINE_CONFIG = ${BEAMLINE_CONFIG}"
echo "BEAMLINE_CONFIG_VERSION = ${BEAMLINE_CONFIG_VERSION}"
echo "JUGGLER_DETECTOR = ${JUGGLER_DETECTOR}" echo "JUGGLER_DETECTOR = ${JUGGLER_DETECTOR}"
echo "JUGGLER_DETECTOR_VERSION = ${CI_COMMIT_REF_NAME}" echo "JUGGLER_DETECTOR_VERSION = ${CI_COMMIT_REF_NAME}"
echo "JUGGLER_DETECTOR_VERSION=$CI_COMMIT_REF_NAME" >> juggler.env echo "JUGGLER_DETECTOR_VERSION=$CI_COMMIT_REF_NAME" >> juggler.env
...@@ -50,6 +53,7 @@ compile: ...@@ -50,6 +53,7 @@ compile:
needs: needs:
- ["env"] - ["env"]
script: script:
- mkdir -p build && cd build && cmake ../. -DCMAKE_INSTALL_PREFIX=/usr/local && make -j20 && make install && cd ..
- echo "Build successful." - echo "Build successful."
.views: .views:
...@@ -102,24 +106,24 @@ detector:config_testing: ...@@ -102,24 +106,24 @@ detector:config_testing:
- cat doc/overlap_check.out - cat doc/overlap_check.out
allow_failure: true allow_failure: true
benchmarks:reconstruction: #benchmarks:reconstruction:
stage: deploy # stage: deploy
variables: # variables:
JUGGLER_DETECTOR: "$JUGGLER_DETECTOR" # JUGGLER_DETECTOR: "$JUGGLER_DETECTOR"
JUGGLER_DETECTOR_VERSION: "$JUGGLER_DETECTOR_VERSION" # JUGGLER_DETECTOR_VERSION: "$JUGGLER_DETECTOR_VERSION"
trigger: # trigger:
project: EIC/benchmarks/reconstruction_benchmarks # project: EIC/benchmarks/reconstruction_benchmarks
strategy: depend # strategy: depend
needs: ["env","overlap_check","report"] # needs: ["env","overlap_check","report"]
#
#
benchmarks:physics: #benchmarks:physics:
stage: deploy # stage: deploy
variables: # variables:
JUGGLER_DETECTOR: "$JUGGLER_DETECTOR" # JUGGLER_DETECTOR: "$JUGGLER_DETECTOR"
JUGGLER_DETECTOR_VERSION: "$JUGGLER_DETECTOR_VERSION" # JUGGLER_DETECTOR_VERSION: "$JUGGLER_DETECTOR_VERSION"
trigger: # trigger:
project: EIC/benchmarks/physics_benchmarks # project: EIC/benchmarks/physics_benchmarks
strategy: depend # strategy: depend
needs: ["env","overlap_check","report"] # needs: ["env","overlap_check","report"]
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<!-- Some information about detector -->
<info name="Central Barrel Solenoid" title="Central Barrel Solenoid"
author="Jihee Kim"
url="https://eicweb.phy.anl.gov/EIC/detectors/reference_detector.git"
status="development"
version="v1 2021-03-15">
<comment>Central Barrel Solenoid</comment>
</info>
<!-- Use DD4hep elements and materials definitions -->
<includes>
<gdmlFile ref="elements.xml"/>
<gdmlFile ref="materials.xml"/>
</includes>
<!-- Define the dimensions of the world volume -->
<define>
<constant name="world_side" value="50*m"/>
<constant name="world_x" value="world_side"/>
<constant name="world_y" value="world_side"/>
<constant name="world_z" value="world_side"/>
<constant name="tracker_region_zmax" value="6 * m"/>
<constant name="tracker_region_rmax" value="6 * m"/>
<constant name="cb_Solenoid_ID" value="1"/>
<constant name="cb_Solenoid_rmin" value="0.0 * cm"/> <!-- Central Barrel Solenoid Inner diameter -->
<constant name="cb_Solenoid_rmax" value="137.0 * cm"/> <!-- Central Barrel Solenoid Outer diameter -->
<constant name="cb_Solenoid_z" value="400.0 * cm"/> <!-- Central Barrel Solenoid Size in Z direction -->
<constant name="cb_Solenoid_shift" value="0.0 * cm"/>
</define>
<limits>
</limits>
<regions>
</regions>
<!-- Common Generic visualization attributes -->
<comment>Common Generic visualization attributes</comment>
<display>
<vis name="cb_SolenoidVis" alpha="0.4" r= "0.1" g="0.0" b="0.1" showDaughters="true" visible="true"/>
</display>
<!-- Define detector -->
<detectors>
<comment>
Central Barrel Solenoid Magnet
</comment>
<detector id="cb_Solenoid_ID" name="cb_Solenoid" type="cb_Solenoid" insideTrackingVolume="false" vis="cb_SolenoidVis">
<material name="Vacuum"/> <!-- G4_Galactic -->
<dimensions rmin="cb_Solenoid_rmin" rmax="cb_Solenoid_rmax" z="cb_Solenoid_z" delta="cb_Solenoid_shift"/>
</detector>
</detectors>
<plugins>
</plugins>
<!-- TODO: Define field using field map-->
<fields>
<field type="solenoid" name="GlobalSolenoid" inner_field="1.5 * tesla" outer_field="0.5*tesla"
zmin="100.0 * cm" zmax="100.0 * cm" inner_radius="100.0 * cm" outer_radius="100.0 * cm"/>
</fields>
</lccdd>
<lccdd>
<comment>Central Barrel Solenoid</comment>
<define>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<!-- Define detector -->
<detectors>
<comment>
Central Barrel Solenoid Magnet
</comment>
<detector id="Solenoid_ID" name="cb_Solenoid" type="cb_Solenoid" insideTrackingVolume="false" vis="cb_SolenoidVis">
<material name="Vacuum"/> <!-- G4_Galactic -->
<dimensions rmin="cb_Solenoid_rmin" rmax="cb_Solenoid_rmax" z="cb_Solenoid_z" delta="cb_Solenoid_shift"/>
</detector>
</detectors>
<plugins>
</plugins>
<!-- TODO: Define field using field map-->
<fields>
</fields>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
</define>
<detectors>
<detector id="ce_MRICH_ID" name="ce_MRICH" type="refdet_ce_MRICH" readout="MRICHHits" vis="BlueVis" material="Air">
<dimensions rmin="ce_MRICHRMin" rmax="ce_MRICHRMax" length="ce_MRICHLength" z="ce_MRICHZMin"/>
<modules material="Quartz" thickness="10*cm" width="10*cm" gap="1*cm" />
</detector>
</detectors>
<readouts>
<readout name="MRICHHits">
<segmentation type="CartesianGridXY" grid_size_x="3*mm" grid_size_y="3*mm" />
<id>system:8,layer:4,piece:4,module:14,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
This diff is collapsed.
<display>
<vis name="Argonne_Green" alpha="1" r="119/255" g="179/255" b="0"/>
<vis name="Argonne_Violet" alpha="1" r="91/256" g="0" b="145/256"/>
<vis name="Argonne_Process_Blue" alpha="1" r="0/256" g="130/256" b="202/256"/>
<vis name="Argonne_Orange" alpha="1" r="255/256" g="121/256" b="0"/>
<vis name="Argonne_Red" alpha="1" r="205/256" g="32/256" b="44/256"/>
<vis name="Argonne_Gold" alpha="1" r="248/256" g="178/256" b="0/256"/>
<vis name="Argonne_Blue" alpha="1" r="0/256" g="96/256" b="156/256"/>
<vis name="Argonne_Teal" alpha="1" r="0/256" g="161/256" b="156/256"/>
<vis name="Argonne_Gray" alpha="1" r="102/256" g="102/256" b="102/256"/>
<vis name="Argonne_Light_Gray" alpha="1" r="209/256" g="209/256" b="209/256"/>
<vis name="Argonne_Off_White" alpha="1" r="242/256" g="242/256" b="242/256"/>
<vis name="Argonne_Delta_Red" alpha="1" r="161/256" g="43/256" b="47/256"/>
<vis name="Argonne_Delta_Green" alpha="1" r="0" g="120/256" b="54/256"/>
<vis name="Argonne_Delta_Blue" alpha="1" r="11/256" g="31/256" b="143/256"/>
<vis name="Argonne_Red_1" alpha="0.5" r="205/256" g="32/256" b="44/256"/>
<comment>Tracker_Layer_Vis is Argonne_Gold</comment>
<vis name="Tracker_Layer_Vis" alpha="0.5" r="248/256" g="178/256" b="0/256" showDaughters="true" />
<vis name="InvisibleNoDaughters" showDaughters="false" visible="false"/>
<vis name="InvisibleWithDaughters" showDaughters="true" visible="false"/>
<vis name="SiVertexVis" alpha="0.9" r="1" g="0" b="1" showDaughters="true" />
<vis name="SiTrackerBarrelVis" alpha="0.5" r="0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="SiTrackerVis" alpha="0.9" r="1.0" g="0.0" b="0.0" showDaughters="true" lineStyle="solid" drawingStyle="solid" />
<vis name="TrackerLayerVis" alpha="0.9" r="0.0" g="1.0" b="0.0" visible="true" showDaughters="true" />
<vis name="SiTrackerBarrelVis1" alpha="0.8" r="0.0" g="0.9" b="0.9" showDaughters="true" />
<vis name="SiTrackerBarrelVis2" alpha="0.8" r="0.1" g="0.9" b="0.0" showDaughters="true" visible="true"/>
<vis name="SiTrackerEndcapVis1" alpha="0.8" r="1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="SiTrackerEndcapVis2" alpha="0.8" r="1.0" g="0.45" b="0.0" showDaughters="false" visible="true"/>
<vis name="SiTrackerSubAssemblyVis" alpha="1" r="0.0" g="0.99" b="0.0" showDaughters="true" visible="true"/>
<vis name="SiTrackerLayerVis" alpha="1" r="0.0" g="1" b="0.0" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="EcalVis" alpha="0.1" r="0.0" g="0.75" b="0.1" showDaughters="false"/>
<vis name="EcalEndcapVis" alpha="1.0" r="0.0" g="0.99" b="0.0" showDaughters="false" visible="true" />
<vis name="EcalBarrelVis" alpha="1.0" r="0.0" g="0.99" b="0.0" showDaughters="false" visible="true" />
<vis name="HcalVis" alpha="0.9" r="0.75" g="0.0" b="0.0" showDaughters="false"/>
<vis name="HcalBarrelVis" alpha="1.0" r="0.0" g="0.0" b="0.99" showDaughters="false" visible="true" />
<vis name="HcalEndcapVis" alpha="1.0" r="0.0" g="0.0" b="0.99" showDaughters="false" visible="true" />
<vis name="SolenoidCoilVis" alpha="1.0" r="0.55" g="0.55" b="0.7" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidCryostatVis" alpha="0.4" r="0.55" g="0.55" b="0.7" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidYokeVis" alpha="0.2" r="0.8" g="0.1" b="0.1" showDaughters="false" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="RICHVis" alpha="0.5" r="1" g="0" b="1" showDaughters="false"/>
<vis name="BeamPipeVis" alpha="1" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
<vis name="cb_SolenoidVis" alpha="0.4" r= "0.1" g="0.0" b="0.1" showDaughters="true" visible="true"/>
<comment>
Deprecated colors.
</comment>
<vis name="GreenVis" alpha="1.0" r= "0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="RedVis" alpha="0.2" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="RPVis" alpha="0.99" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="RPLayerVis" alpha="0.99" r= "0.0" g="0.7" b="0.3" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="BlueVis" alpha="1.0" r= "0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="OrangeVis" alpha="1.0" r= "1.0" g="0.45" b="0.0" showDaughters="true" visible="true"/>
<vis name="RedGreenVis" alpha="0.5" r= "1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="BlueGreenVis" alpha="0.5" r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="PurpleVis" alpha="1.0" r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="DoubleRedG" alpha="0.5" r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG015" alpha="0.5" r= "0.0" g=".2" b="1.0" showDaughters="true" visible="true"/>
<vis name="RBG510" alpha="0.5" r= "1.0" g=".2" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG" alpha="0.5" r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="GrayVis" alpha="1.0" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
</display>
compact/ecal.xml 0 → 100644
+ 184
0
View file @ 0189c6d2
<lccdd>
<define>
<constant name="CrystalEndcap_rmin" value="VertexTrackerInnerRadius"/>
<constant name="CrystalEndcap_rmax" value="EcalEndcapN_rmin"/>
<constant name="CrystalBox_x_length" value="20.0*mm"/>
<constant name="CrystalBox_y_length" value="20.0*mm"/>
<constant name="CrystalBox_z_length" value="200.0*mm"/>
<constant name="CrystalBox_offset" value="0.000001*mm"/>
<constant name="CrystalEndcap_x_pos" value="0.0*m"/>
<constant name="CrystalEndcap_y_pos" value="0.0*m"/>
<constant name="CrystalEndcap_z_pos" value="-EcalEndcap_zmin"/>
</define>
<limits>
</limits>
<regions>
</regions>
<!-- Common Generic visualization attributes -->
<comment>Common Generic visualization attributes</comment>
<display>
</display>
<detectors>
<comment>
---------------------
Barrel EM Calorimeter
---------------------
A layered EM calorimeter with tungsten and silicon (or scintillator) strips
</comment>
<detector
id="ECalBarrel_ID"
name="EcalBarrel"
type="DD4hep_EcalBarrel"
readout="EcalBarrelHits"
calorimeterType="EM_BARREL">
<dimensions
numsides="CaloSides"
rmin="EcalBarrel_rmin"
z="EcalBarrelLength"/>
<staves vis="EcalBarrelVis"/>
<layer repeat="1">
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalBarrelThinLayers">
<slice material="TungstenDens24" thickness="EcalThinTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalBarrelThickLayers">
<slice material="TungstenDens24" thickness="EcalThickTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
</detector>
<comment>
-----------------------------
Forward Endcap EM Calorimeter
-----------------------------
A layered EM calorimeter with tungsten and silicon (or scintillator) strips
</comment>
<detector id="ECalEndcapP_ID"
name="EcalEndcapP"
reflect="false"
type="DD4hep_PolyhedraEndcapCalorimeter2"
readout="EcalEndcapHits"
vis="EcalEndcapVis"
calorimeterType="EM_ENDCAP" >
<dimensions
numsides="CaloSides"
zmin="EcalEndcap_zmin"
rmin="EcalEndcapP_rmin"
rmax="EcalBarrel_rmax " />
<layer repeat="1">
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapThinLayers">
<slice material="TungstenDens24" thickness="EcalThinTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapThickLayers">
<slice material="TungstenDens24" thickness="EcalThickTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
</detector>
<comment>
-------------------------------
Backwards Endcap EM Calorimeter
-------------------------------
A layered EM calorimeter with tungsten and silicon (or scintillator) strips
</comment>
<detector id="ECalEndcapN_ID"
name="EcalEndcapN"
type="refdet_PolyhedraEndcapCalorimeter2"
reflect="true"
readout="EcalEndcapHits"
vis="EcalEndcapVis"
calorimeterType="EM_ENDCAP">
<dimensions
numsides="CaloSides"
zmin="EcalEndcap_zmin"
rmin="EcalEndcapN_rmin"
rmax="EcalBarrel_rmax " />
<layer repeat="1">
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapThinLayers">
<slice material="TungstenDens24" thickness="EcalThinTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapThickLayers">
<slice material="TungstenDens24" thickness="EcalThickTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
</detector>
</detectors>
<!-- Definition of the readout segmentation/definition -->
<readouts>
<!--
<readout name="PlaneTrackerHits">
<segmentation type="CartesianGridXY" grid_size_x="20.0*mm" grid_size_y="20.0*mm" />
<id>system:5,module:4,x:32:-16,y:-16</id>
</readout>
<readout name="CrystalEcalHits">
<segmentation type="CartesianGridXY" grid_size_x="CrystalBox_x_length" grid_size_y="CrystalBox_y_length" />
<id>system:8,sector:4,module:20,x:48:-8,y:-8</id>
</readout>
-->
<readout name="EcalBarrelHits">
<segmentation type="CartesianGridXY" grid_size_x="3.5 * mm" grid_size_y="3.5 * mm"/>
<id>system:8,barrel:3,module:4,layer:6,slice:5,x:32:-16,y:-16</id>
</readout>
<readout name="EcalEndcapHits">
<segmentation type="CartesianGridXY" grid_size_x="3.5 * mm" grid_size_y="3.5 * mm"/>
<id>system:8,barrel:3,module:4,layer:6,slice:5,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
File moved
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
</define>
<detectors>
<detector id="ForwardRICH_ID" name="ForwardRICH" type="refdet_ForwardRICH" readout="ForwardRICHHits" vis="BlueVis">
<dimensions z0="RICHZMin" length="RICHDepth+20*cm" rmin="RICHRMin" rmax1="RICHRMax*cm" rmax2="RICHRMin+80*cm"/>
<radiator material="N2cherenkov" />
<mcppmt zdiff="15.0*cm" rmin="SolenoidYokeEndcapP_rmin - 10*cm" rmax="SolenoidYokeEndcapP_rmin + 80*cm" rtol="1.0*cm" vis="BlueVis"
module_size="10*cm" module_gap="0.2*cm" thickness="1.0*cm" material="Quartz" />
<tank zdiff="5.0*cm" length="RICHDepth" gas="N2cherenkov" vis="GreenVis"
rmin="RICHRMin" rmax1="RICHRMin+40*cm" rmax2="RICHRMin+80*cm" />
<mirror zdiff="RICHDepth+7.0*cm" thickness="1*mm" material="PyrexGlass" vis="GrayVis">
<slice focus="10*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="0*degree" />
<slice focus="10*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="60*degree" />
<slice focus="10*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="120*degree" />
<slice focus="10*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="180*degree" />
<slice focus="10*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="240*degree" />
<slice focus="10*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="300*degree" />
</mirror>
</detector>
</detectors>
<readouts>
<readout name="ForwardRICHHits">
<segmentation type="CartesianGridXY" grid_size_x="3*mm" grid_size_y="3*mm" />
<id>system:8,layer:4,piece:4,module:14,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
compact/hcal.xml 0 → 100644
+ 104
0
View file @ 0189c6d2
<lccdd>
<define>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<!-- Define detector -->
<detectors>
<detector
id="HCalBarrel_ID"
name="HcalBarrel"
type="DD4hep_PolyhedraBarrelCalorimeter2"
readout="HcalBarrelHits"
calorimeterType="HAD_BARREL"
gap="0.*cm"
material="Steel235">
<dimensions
numsides="CaloSides"
rmin="HcalBarrel_rmin"
z="HcalBarrelLength"/>
<staves vis="HcalBarrelVis"/>
<layer repeat="HcalBarrelLayers">
<slice material="Steel235" thickness="HcalSteelThickness"/>
<slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
<slice material="RPCGasDefault" thickness="HcalRPCGasThickness" sensitive="yes" limits="cal_limits"/>
<slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
<slice material="G10" thickness="HcalG10Thickness"/>
<slice material="Air" thickness="HcalAirThickness"/>
</layer>
</detector>
<detector
id="HCalEndcapP_ID"
name="HcalEndcapP"
type="refdet_PolyhedraEndcapCalorimeter2"
readout="HcalEndcapHits"
vis="HcalEndcapVis"
calorimeterType="HAD_ENDCAP"
reflect="false">
<dimensions
numsides="CaloSides"
zmin="HcalEndcap_zmin"
rmin="HcalEndcapP_rmin"
rmax="HcalBarrel_rmax"/>
<layer repeat="HcalEndcapLayers" vis="HcalEndcapVis" >
<slice material="Steel235" thickness="HcalSteelThickness"/>
<slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
<slice material="RPCGasDefault" thickness="HcalRPCGasThickness" sensitive="yes" limits="cal_limits"/>
<slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
<slice material="G10" thickness="HcalG10Thickness"/>
<slice material="Air" thickness="HcalAirThickness"/>
</layer>
</detector>
<detector
id="HCalEndcapN_ID"
name="HcalEndcapN"
type="refdet_PolyhedraEndcapCalorimeter2"
readout="HcalEndcapHits"
vis="HcalEndcapVis"
calorimeterType="HAD_ENDCAP" reflect="true">
<dimensions
numsides="CaloSides"
zmin="HcalEndcap_zmin"
rmin="HcalEndcapN_rmin"
rmax="HcalBarrel_rmax"/>
<layer repeat="HcalEndcapLayers" vis="HcalEndcapVis" >
<slice material="Steel235" thickness="HcalSteelThickness"/>
<slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
<slice material="RPCGasDefault" thickness="HcalRPCGasThickness" sensitive="yes" limits="cal_limits"/>
<slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
<slice material="G10" thickness="HcalG10Thickness"/>
<slice material="Air" thickness="HcalAirThickness"/>
</layer>
</detector>
</detectors>
<!-- Definition of the readout segmentation/definition -->
<readouts>
<readout name="HcalBarrelHits">
<segmentation type="CartesianGridXY" grid_size_x="10 * mm" grid_size_y="10 * mm"/>
<id>system:6,barrel:3,module:4,layer:8,slice:5,x:32:-16,y:-16</id>
</readout>
<readout name="HcalEndcapHits">
<segmentation type="CartesianGridXY" grid_size_x="10 * mm" grid_size_y="10 * mm"/>
<id>system:6,barrel:3,module:4,layer:8,slice:5,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<materials> <materials>
<!-- <!--
Air by weight from Air by weight from
http://www.engineeringtoolbox.com/air-composition-24_212.html http://www.engineeringtoolbox.com/air-composition-24_212.html
--> -->
<material name="Air"> <material name="Air">
...@@ -12,7 +13,7 @@ ...@@ -12,7 +13,7 @@
</material> </material>
<!-- We model vacuum just as very thin air --> <!-- We model vacuum just as very thin air -->
<material name="Vacuum"> <material name="Vacuum">
<D type="density" unit="g/cm3" value="1.e-25"/> <D type="density" unit="g/cm3" value="0.0000000001"/>
<fraction n="0.754" ref="N"/> <fraction n="0.754" ref="N"/>
<fraction n="0.234" ref="O"/> <fraction n="0.234" ref="O"/>
<fraction n="0.012" ref="Ar"/> <fraction n="0.012" ref="Ar"/>
......
<!-- Define parameter -->
<define>
<constant name="world_side" value="50*m"/>
<constant name="world_x" value="world_side"/>
<constant name="world_y" value="world_side"/>
<constant name="world_z" value="world_side"/>
<constant name="tracker_region_zmax" value="6 * m"/>
<constant name="tracker_region_rmax" value="6 * m"/>
</define>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<comment>
--------------------------
Solenoid Magnet Parameters
--------------------------
</comment>
</define>
<detectors>
<comment>
---------------
Solenoid Magnet
---------------
The solenoid superconducting magnet and surrounding cryostat and
yoke endcaps.
</comment>
<detector
id="Solenoid_ID"
name="SolenoidCoilBarrel"
type="DD4hep_MultiLayerTracker"
insideTrackingVolume="false">
<layer id="1"
inner_r="Solenoid_rmin"
outer_z="SolenoidBarrel_zmax"
vis="SolenoidCryostatVis">
<slice material="Steel235" thickness="SolenoidBarrelCryostatThickness"/>
<slice material="Vacuum" thickness="SolenoidBarrelGapThickness"/>
</layer>
<layer id="2"
inner_r="SolenoidCoilConductor_rmin"
outer_z="SolenoidCoil_zmax"
vis="SolenoidCoilVis">
<slice material="Aluminum" thickness="SolenoidBarrelAlConductorThickness"/>
<slice material="Aluminum" thickness="SolenoidBarrelQuenchbackThickness"/>
</layer>
<layer id="3"
inner_r="SolenoidCoilConductor_rmax"
outer_z="SolenoidBarrel_zmax"
vis="SolenoidCryostatVis">
<slice material="Vacuum" thickness="SolenoidBarrelOuterGapThickness"/>
<slice material="Steel235" thickness="SolenoidBarrelOuterCryostatThickness"/>
</layer>
</detector>
<detector
id="SolenoidSupport_ID"
name="SolenoidCoilEnds"
type="DD4hep_DiskTracker"
insideTrackingVolume="false"
reflect="true"
vis="SolenoidCryostatVis">
<layer id="1"
inner_z="SolenoidCoil_zmax"
inner_r="SolenoidCoilConductor_rmin"
outer_r="SolenoidCoilConductor_rmax">
<slice material="Vacuum" thickness="SolenoidEndPlateGapThickness/2.0"/>
</layer>
<!--
<layer id="2"
inner_z="SolenoidCoil_zmax + SolenoidEndPlateGapThickness"
inner_r="Solenoid_rmin+SolenoidBarrelCryostatThickness"
outer_r="SolenoidBarrel_rmax-SolenoidBarrelOuterCryostatThickness">
<slice material="Steel235" thickness="SolenoidEndPlateCryostatThickness"/>
</layer>
-->
</detector>
<detector
id="SolenoidYoke_ID"
name="SolenoidYokeEndcaps"
type="DD4hep_DiskTracker"
insideTrackingVolume="false"
reflect="true"
vis="SolenoidYokeVis">
<layer id="1"
vis="PurpleVis"
inner_z="SolenoidBarrel_zmax + SolenoidEndPlateGapThickness"
inner_r="SolenoidYokeEndcapP_rmin"
outer_r="SolenoidBarrel_rmax">
<slice material="Steel235" thickness="SolenoidYokeEndcapThickness/2.0" vis="SolenoidYokeVis" />
</layer>
</detector>
<!--
<detector name="SolenoidYoke" type="SiEIC_Yoke" vis="SolenoidYokeVis">
<material name="Steel235"/>
<dimensions inner_radius="SolenoidYokeInnerRadius" thickness="SolenoidYokeThickness" rmin="CaloInnerRadius + 10 * mm" angle="SolenoidYokeChamferAngle" inner_z="SolenoidYokeInnerZ"/>
</detector>
-->
</detectors>
<fields>
<field type="solenoid" name="GlobalSolenoid" inner_field="3.0 * tesla" outer_field="0.5*tesla"
zmin="-SolenoidCoil_zmax" zmax="SolenoidCoil_zmax"
inner_radius="SolenoidalFieldRadius" outer_radius="SolenoidalFieldRadius+20*cm"/>
</fields>
</lccdd>
...@@ -3,69 +3,134 @@ ...@@ -3,69 +3,134 @@
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd"> xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<!-- Some information about detector --> <!-- Some information about detector -->
<info name="Test Detector" title="Test Detector" <info name="Reference Detector" title="Reference Detector"
author="Jihee Kim" author="Jihee Kim, Whitney Armstrong"
url="https://eicweb.phy.anl.gov/EIC/detectors/reference_detector.git" url="https://eicweb.phy.anl.gov/EIC/detectors/reference_detector.git"
status="development" status="development"
version="v1 2021-03-16"> version="v1 2021-03-16">
<comment>Test Detector</comment> <comment>Test Detector</comment>
</info> </info>
<!-- Use DD4hep elements and materials definitions --> <define>
<include ref="compact/definitions.xml" />
<include ref="eic/eic_defs.xml" />
<include ref="ip6/ip6_defs.xml" />
<!--
-->
</define>
<properties>
<matrix name="RINDEX__Vacuum" coldim="2" values="
1.0*eV 1.0
5.1*eV 1.0
"/>
<matrix name="RINDEX__Air" coldim="2" values="
1.0*eV 1.00029
5.1*eV 1.00029
"/>
<matrix name="RINDEX__Quartz" coldim="2" values="
1.0*eV 1.46
5.1*eV 1.46
"/>
<matrix name="RINDEX__N2" coldim="2" values="
1.0*eV 1.00033
4.0*eV 1.00033
5.1*eV 1.00033
"/>
<matrix name="RINDEX__Pyrex" coldim="2" values="
1.0*eV 1.5
4.0*eV 1.5
5.1*eV 1.5
"/>
<matrix name= "REFLECTIVITY_mirror" coldim="2" values="
1.0*eV 0.9
4.0*eV 0.9
5.1*eV 0.9
"/>
</properties>
<includes> <includes>
<gdmlFile ref="elements.xml"/> <gdmlFile ref="compact/elements.xml"/>
<gdmlFile ref="materials.xml"/> <gdmlFile ref="compact/materials.xml"/>
</includes> </includes>
<!-- Define the dimensions of the world volume --> <materials>
<define> <material name="AirOptical">
<constant name="world_side" value="50*m"/> <D type="density" unit="g/cm3" value="0.0012"/>
<constant name="world_x" value="world_side"/> <fraction n="0.754" ref="N"/>
<constant name="world_y" value="world_side"/> <fraction n="0.234" ref="O"/>
<constant name="world_z" value="world_side"/> <fraction n="0.012" ref="Ar"/>
<property name="RINDEX" ref="RINDEX__Vacuum"/>
<constant name="tracker_region_zmax" value="6 * m"/> </material>
<constant name="tracker_region_rmax" value="6 * m"/> <material name="N2cherenkov">
<D type="density" value="0.00125" unit="g/cm3"/>
<composite n="1" ref="N"/>
<property name="RINDEX" ref="RINDEX__N2"/>
</material>
<material name="PyrexGlass">
<D type="density" value="2.23" unit="g/cm3"/>
<fraction n="0.806" ref="SiliconOxide"/>
<fraction n="0.130" ref="BoronOxide"/>
<fraction n="0.040" ref="SodiumOxide"/>
<fraction n="0.023" ref="AluminumOxide"/>
<property name="RINDEX" ref="RINDEX__Pyrex"/>
</material>
</materials>
<constant name="TestDetector_ID" value="999"/> <surfaces>
<constant name="TestDetector_inner_radius" value="10.0 * cm"/> <comment> For the values of "finish", model and type, see TGeoOpticalSurface.h !
<constant name="TestDetector_rmin" value="10.0 * cm"/> </comment>
<constant name="TestDetector_thickness" value="100.0 * cm"/> <opticalsurface finish="polished" model="glisur" name="MirrorOpticalSurface" type="dielectric_metal" value="0">
<constant name="TestDetector_inner_z" value="40.0 * cm"/> <property name="REFLECTIVITY" ref="REFLECTIVITY_mirror"/>
<constant name="TestDetector_angle" value="0.0 * rad"/> <property name="RINDEX" coldim="2" values="1.034*eV 1.5 4.136*eV 1.5"/>
</define> <!--<property name="EFFICIENCY" ref="EFFICIENCY0x8b77240"/>-->
</opticalsurface>
<opticalsurface name="mirror2" finish="polished" model="glisur" type="dielectric_dielectric">
<property name="REFLECTIVITY" coldim="2" values="1.034*eV 0.8 4.136*eV 0.9"/>
<property name="EFFICIENCY" coldim="2" values="2.034*eV 0.8 4.136*eV 1.0"/>
<property name="RINDEX" coldim="2" values="1.034*eV 1.5 4.136*eV 1.5"/>
</opticalsurface>
<!-- Define the dimensions of the world volume -->
</surfaces>
<limits> <limits>
<limitset name="EICBeamlineLimits">
<limit name="step_length_max" particles="*" value="1.0" unit="mm" />
<limit name="track_length_max" particles="*" value="1.0" unit="mm" />
<limit name="time_max" particles="*" value="0.1" unit="ns" />
<limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
<limit name="range_min" particles="*" value="0.1" unit="mm" />
</limitset>
<limitset name="cal_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
</limitset>
</limits> </limits>
<regions>
</regions>
<!-- Common Generic visualization attributes -->
<comment>Common Generic visualization attributes</comment>
<display> <display>
<vis name="TestDetectorVis" alpha="0.4" r= "0.1" g="0.0" b="0.1" showDaughters="true" visible="true"/> <include ref="compact/display.xml" />
</display> </display>
<!-- Define detector --> <!--
<include ref="reference_detector/vertex_tracker.xml"/>
<include ref="compact/silicon_tracker.xml"/>
-->
<include ref="ip6/beampipe.xml"/>
<include ref="compact/solenoid.xml"/>
<include ref="compact/ecal.xml"/>
<include ref="compact/hcal.xml"/>
<include ref="compact/forward_rich.xml"/>
<include ref="compact/ce_mrich.xml"/>
<!--
<include ref="compact/roman_pots.xml"/>
-->
<include ref="eic/forward_ion_beamline.xml"/>
<!--
-->
<detectors> <detectors>
<comment>
Central Barrel Solenoid Magnet
</comment>
<detector id="TestDetector_ID" name="TestDetector" type="TestDetector" vis="TestDetectorVis">
<dimensions inner_radius="TestDetector_inner_radius"
rmin="TestDetector_rmin"
thickness="TestDetector_thickness"
inner_z="TestDetector_inner_z"
angle="TestDetector_angle"/>
<material name="Steel235"/>
</detector>
</detectors> </detectors>
<readouts>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd> </lccdd>
1.34392e+07
90
180
0
0
0
0
1
1
0.001
0
1
1
1
0.5
0.5
0.5
19
71
0.001
0.001
0.001
3
71
0.001
0
0
1
evince
0
0
...@@ -9,8 +9,8 @@ function print_the_help { ...@@ -9,8 +9,8 @@ function print_the_help {
exit exit
} }
FILE_TAG="view1" FILE_TAG="view01"
INPUT_FILE="g4_0000.prim" INPUT_FILE="../../g4_0000.prim"
POSITIONAL=() POSITIONAL=()
...@@ -44,6 +44,7 @@ done ...@@ -44,6 +44,7 @@ done
set -- "${POSITIONAL[@]}" # restore positional parameters set -- "${POSITIONAL[@]}" # restore positional parameters
# Side view
dawncut 1 0 0 1 ${INPUT_FILE} ${FILE_TAG}_temp0.prim dawncut 1 0 0 1 ${INPUT_FILE} ${FILE_TAG}_temp0.prim
dawncut -1 0 0 1 ${FILE_TAG}_temp0.prim ${FILE_TAG}.prim dawncut -1 0 0 1 ${FILE_TAG}_temp0.prim ${FILE_TAG}.prim
dawn -d ${FILE_TAG}.prim dawn -d ${FILE_TAG}.prim
...@@ -55,3 +56,15 @@ gs -o ${FILE_TAG}.pdf -sDEVICE=pdfwrite \ ...@@ -55,3 +56,15 @@ gs -o ${FILE_TAG}.pdf -sDEVICE=pdfwrite \
pdftoppm ${FILE_TAG}.pdf ${FILE_TAG} -png -singlefile -cropbox pdftoppm ${FILE_TAG}.pdf ${FILE_TAG} -png -singlefile -cropbox
# Top view
dawncut 0 1 0 1 ${INPUT_FILE} ${FILE_TAG}_temp0.prim
dawncut 0 -1 0 1 ${FILE_TAG}_temp0.prim ${FILE_TAG}.prim
../../bin/dawn_tweak --theta 270
dawn -d ${FILE_TAG}.prim
ps2pdf ${FILE_TAG}.eps ${FILE_TAG}_top_full.pdf
gs -o ${FILE_TAG}_top.pdf -sDEVICE=pdfwrite \
-c "[/CropBox [51 250 550 590] /PAGES pdfmark" \
-f ${FILE_TAG}_top_full.pdf
pdftoppm ${FILE_TAG}_top.pdf ${FILE_TAG}_top -png -singlefile -cropbox
1.34392e+07
0
180
0
0
0
0
8
3
0.001
0
1
1
1
0.5
0.5
0.5
19
71
0.01
0.01
0.01
3
70
0.01
1
1
1
evince
0
0
1.34392e+07
28.5
151.5
0
0
0
0
8
5
0.001
0
1
1
1
0.5
0.5
0.5
19
71
0.01
0.01
0.01
3
70
0.01
1
1
1
evince
0
0
1.34392e+07
90
0
1
0
0
491.1
1.2
5
0.001
0
1
1
1
0.5
0.5
0.5
19
71
0.01
0.01
0.01
3
70
0.01
1
1
1
evince
0
0
1.34392e+07
0
180
0
0
0
0
18.6
1
0.001
0
1
1
1
0.5
0.5
0.5
19
71
0.01
0.01
0.01
3
70
0.01
1
1
1
evince
0
0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment