Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update IDEA compact file, add test of full IDEA detector #365

Merged
merged 9 commits into from
Aug 9, 2024
3 changes: 2 additions & 1 deletion FCCee/IDEA/compact/IDEA_o1_v03/IDEA_o1_v03.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@
<include ref="EndPlateAbsorber_o1_v01.xml"/>

<!-- Import fiber-based dual-readout calorimeter -->
<include ref="FiberDualReadoutCalo_o1_v01.xml"/>
<!-- (uncomment the following line to effectively include it) -->
<!-- <include ref="FiberDualReadoutCalo_o1_v01.xml"/> -->

<!-- Import muon system -->
<include ref="MuonSystem_o1_v01.xml"/>
Expand Down
2 changes: 1 addition & 1 deletion FCCee/IDEA/compact/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ v02). NB: production threshold and step limit physics have to be tuned for the d

July 2024: Added a detailed version of the muon system.

The monolithic fiber dual-readout calorimeter (o1, v01) is added.
The monolithic fiber dual-readout calorimeter (o1, v01) is added to the directory, but commented in the main file IDEA_o1_v03.xml for the sake of speed. Please remove the comments to include this calorimeter in the full IDEA detector.
14 changes: 12 additions & 2 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,20 @@ SET_TESTS_PROPERTIES( t_${test_name} PROPERTIES FAIL_REGULAR_EXPRESSION "Except
if(DCH_INFO_H_EXIST)
SET( test_name "test_IDEA_o1_v03" )
ADD_TEST( t_${test_name} "${CMAKE_INSTALL_PREFIX}/bin/run_test_${PackageName}.sh"
ddsim --compactFile=${CMAKE_CURRENT_SOURCE_DIR}/../FCCee/IDEA/compact/IDEA_o1_v03/IDEA_o1_v03.xml --steeringFile=${CMAKE_CURRENT_SOURCE_DIR}/../example/SteeringFile_IDEA_o1_v03.py )
SET_TESTS_PROPERTIES( t_${test_name} PROPERTIES FAIL_REGULAR_EXPRESSION " Exception; EXCEPTION;ERROR;Error" TIMEOUT 700)
ddsim --compactFile=${CMAKE_CURRENT_SOURCE_DIR}/../FCCee/IDEA/compact/IDEA_o1_v03/IDEA_o1_v03.xml -N 1 -G --gun.distribution uniform --random.seed 1988301045 )
SET_TESTS_PROPERTIES( t_${test_name} PROPERTIES FAIL_REGULAR_EXPRESSION " Exception; EXCEPTION;ERROR;Error" TIMEOUT 100)
endif()

#--------------------------------------------------
# test for IDEA o1 v03, with DRC
if(DCH_INFO_H_EXIST)
SET( test_name "test_IDEA_with_DRC_o1_v03" )
ADD_TEST( t_${test_name} "${CMAKE_INSTALL_PREFIX}/bin/run_test_${PackageName}.sh"
ddsim --compactFile=${CMAKE_CURRENT_SOURCE_DIR}/compact/IDEA_withDRC_o1_v03.xml --steeringFile=${CMAKE_CURRENT_SOURCE_DIR}/../example/SteeringFile_IDEA_o1_v03.py -G --gun.distribution uniform --random.seed 1988301045 )
SET_TESTS_PROPERTIES( t_${test_name} PROPERTIES FAIL_REGULAR_EXPRESSION " Exception; EXCEPTION;ERROR;Error" TIMEOUT 600)
endif()


#--------------------------------------------------
# test for ALLEGRO o1 v02
SET( test_name "test_ALLEGRO_o1_v02" )
Expand Down
99 changes: 99 additions & 0 deletions test/compact/IDEA_withDRC_o1_v03.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<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">



<info name="IDEA_o1_v03"
title="FCCee IDEA detector geometry master file"
author="Niloufar Alipour Tehrani, vertex detector by Armin Ilg, DCH by Alvaro Tolosa-Delgado"
url="no"
status="development"
version="o1_v03">
<comment>
Version o1_v03 of the IDEA detector
</comment>
</info>

<include ref="${DD4hepINSTALL}/DDDetectors/compact/detector_types.xml" />

<includes>
<gdmlFile ref="../../FCCee/IDEA/compact/IDEA_o1_v03/elements_o1_v01.xml"/>
<gdmlFile ref="../../FCCee/IDEA/compact/IDEA_o1_v03/materials_o1_v02.xml"/>
</includes>

<define>
<constant name="world_size" value="25*m"/>
<constant name="world_x" value="world_size"/>
<constant name="world_y" value="world_size"/>
<constant name="world_z" value="world_size"/>
</define>

<!-- Import dimensions -->
<include ref="../../FCCee/IDEA/compact/IDEA_o1_v03/DectDimensions_IDEA_o1_v03.xml"/>

<!-- Import accelerator components -->
<!-- shape based model of the beam pipe -->
<include ref="../../FCCee/MDI/compact/MDI_o1_v00/Beampipe_o4_v05.xml" />
<include ref="../../FCCee/MDI/compact/MDI_o1_v00/BeamInstrumentation_o1_v01.xml" />
<!-- engineered CAD model of the beam pipe -->
<!-- <include ref="../../../MDI/compact/MDI_o1_v01/Beampipe_CADimport_o1_v02.xml" /> -->
<!-- <include ref="../../../MDI/compact/MDI_o1_v01/BeamInstrumentation_o1_v01.xml"/> -->
<include ref="../../FCCee/IDEA/compact/IDEA_o1_v03/LumiCal_o1_v01.xml"/>

<!-- Import vertex -->
<include ref="../../FCCee/IDEA/compact/IDEA_o1_v03/Vertex_IDEA_o1_v01.xml"/>

<!-- Import drift chamber -->
<include ref="../../FCCee/IDEA/compact/IDEA_o1_v03/DriftChamber_o1_v02.xml"/>

<!-- Import silicon wrapper -->
<!-- <include ref="SiliconWrapper_o1_v01.xml"/> -->

<!-- Import solenoid -->
<include ref="../../FCCee/IDEA/compact/IDEA_o1_v03/Solenoid_o1_v01.xml"/>

<!-- Import Endcap plate absorber -->
<include ref="../../FCCee/IDEA/compact/IDEA_o1_v03/EndPlateAbsorber_o1_v01.xml"/>

<!-- Import fiber-based dual-readout calorimeter -->
<!-- (uncomment the following line to effectively include it) -->
<include ref="../../FCCee/IDEA/compact/IDEA_o1_v03/FiberDualReadoutCalo_o1_v01.xml"/>

<!-- Import muon system -->
<include ref="../../FCCee/IDEA/compact/IDEA_o1_v03/MuonSystem_o1_v01.xml"/>

<plugins>
<plugin name="DD4hepVolumeManager"/>
<plugin name="InstallSurfaceManager"/>
</plugins>

<fields>
<!-- FIXME The magnetic field should be a map derived from FEM tools including all field sources, the return yoke geometry, etc -->
<!-- Currently the outer field value is kind of arbitrary and it will also impregnate the calorimeter volume while the field there is very small -->
<field name="GlobalSolenoid" type="solenoid"
inner_field="SolenoidField"
outer_field="-1.7*tesla"
zmax="Solenoid_Coil_half_length"
outer_radius="Solenoid_Coil_radius">
</field>

<field name="CompensatingSolenoidZplus" type="solenoid"
inner_field="-SolenoidField -SolenoidField * QD0_min_z / ( QD0_min_z - CompSol_min_z)"
outer_field="0*tesla"
zmax="QD0_min_z"
zmin="CompSol_min_z"
outer_radius="20*cm">
</field>

<field name="CompensatingSolenoidZminus" type="solenoid"
inner_field="-SolenoidField -SolenoidField * QD0_min_z / ( QD0_min_z - CompSol_min_z)"
outer_field="0*tesla"
zmin="-QD0_min_z"
zmax="-CompSol_min_z"
outer_radius="20*cm">
</field>
</fields>

</lccdd>
Loading