Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/key4hep/k4geo into IDEA_o1_v03
Browse files Browse the repository at this point in the history
  • Loading branch information
armin-ilg committed Sep 17, 2024
2 parents a681220 + 5a42648 commit 3557d0b
Show file tree
Hide file tree
Showing 38 changed files with 4,852 additions and 45 deletions.
8 changes: 3 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake )
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)

include(cmake/Key4hepConfig.cmake)

include(GNUInstallDirs)
set(CMAKE_INSTALL_LIBDIR lib)
set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
Expand All @@ -43,10 +45,6 @@ option(INSTALL_BEAMPIPE_STL_FILES "Download CAD files for building the detailed


find_package(DD4hep REQUIRED COMPONENTS DDRec DDG4 DDParsers)
# dd4hep_set_compiler_flags() expects DD4hep_SET_RPATH to be set to ON
# otherwise it will not set the rpath when installing
set(DD4HEP_SET_RPATH ON)
dd4hep_set_compiler_flags()

find_package ( ROOT REQUIRED COMPONENTS Geom GenVector)
message ( STATUS "ROOT_VERSION: ${ROOT_VERSION}" )
Expand Down Expand Up @@ -137,7 +135,7 @@ target_include_directories(${PackageName} PRIVATE ${PROJECT_SOURCE_DIR}/detect
target_include_directories(${PackageName}G4 PRIVATE ${PROJECT_SOURCE_DIR}/detector/calorimeter/dual-readout/include )

target_link_libraries(${PackageName} DD4hep::DDCore DD4hep::DDRec DD4hep::DDParsers ROOT::Core detectorSegmentations)
target_link_libraries(${PackageName}G4 DD4hep::DDCore DD4hep::DDRec DD4hep::DDParsers DD4hep::DDG4 ROOT::Core EDM4HEP::edm4hep EDM4HEP::edm4hepDict podio::podio podio::podioDict podio::podioRootIO ${Geant4_LIBRARIES})
target_link_libraries(${PackageName}G4 DD4hep::DDCore DD4hep::DDRec DD4hep::DDParsers DD4hep::DDG4 ROOT::Core podio::podioRootIO EDM4HEP::edm4hep ${Geant4_LIBRARIES})

if(K4GEO_USE_LCIO)
target_link_libraries(${PackageName} LCIO::lcio)
Expand Down
4 changes: 2 additions & 2 deletions FCCee/ALLEGRO/compact/ALLEGRO_o1_v03/ALLEGRO_o1_v03.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@
<include ref="DriftChamber_o1_v02.xml"/> <!-- symbolic link to ../../../IDEA/compact/IDEA_o1_v03/DriftChamber_o1_v02.xml -->
<include ref="SiliconWrapper_o1_v03.xml"/> <!-- symbolic link to ../../../IDEA/compact/IDEA_o1_v03/SiliconWrapper_o1_v03.xml -->
<include ref="ECalBarrel_thetamodulemerged.xml"/> <!-- if you remove the ECalBarrel, you also have to remove or update the "GlobalSolenoid" field (it depends on ECAL dimensions) -->
<include ref="HCalBarrel_TileCal.xml"/>
<include ref="HCalBarrel_TileCal_v02.xml"/>
<include ref="ECalEndcaps_Turbine.xml"/>
<include ref="HCalEndcaps_ThreeParts_TileCal.xml"/>
<include ref="HCalEndcaps_ThreeParts_TileCal_v02.xml"/>
<include ref="MuonTagger.xml"/>

<fields>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,15 +52,10 @@
<segmentation type="FCCSWGridPhiTheta_k4geo" grid_size_theta="0.022180" phi_bins="BarHCal_n_phi_modules" offset_theta="0.783406" offset_phi="-pi+(pi/BarHCal_n_phi_modules)"/>
<id>system:4,layer:5,theta:9,phi:10</id>
</readout>
<readout name="BarHCal_Readout_phi">
<!-- the theta segmentation here is a dummy - the whole hcal is contained in one bin. the z position is stored in the "row" field. -->
<segmentation type="FCCSWGridPhiTheta_k4geo" grid_size_theta="3." phi_bins="BarHCal_n_phi_modules" offset_theta="0.783406" offset_phi="-pi+(pi/BarHCal_n_phi_modules)"/>
<id>system:4,layer:5,row:9,theta:0,phi:10</id>
</readout>
</readouts>

<detectors>
<detector id="BarHCal_id" name="HCalBarrel" type="HCalTileBarrel_o1_v01" readout="HCalBarrelReadout">
<detector id="BarHCal_id" name="HCalBarrel" type="HCalTileBarrel_o1_v02" readout="HCalBarrelReadout">
<dimensions rmin="BarHCal_rmin" rmax="BarHCal_rmax" dz="BarHCal_dz" vis="hcal_envelope" />
<sensitive type="BirksLawCalorimeterSD"/>
<end_plate name="end_plate" thickness="BarHCal_end_plate_thickness" material="Fe" sensitive="false" vis="hcal_end_plate_vis" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<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="FCChh_HCalExtendedBarrel_TileCal"
<info name="FCCee_HCalEndcap_TileCal"
title="Extended Barrel Calorimeter"
author="C. Neubueser, J. Faltova"
author="C. Neubueser, J. Faltova, updated by M. Mlynarikova in 2024"
url="no"
status="development"
version="1.0">
Expand Down Expand Up @@ -44,22 +44,21 @@
<readouts>
<!-- Default readout of DetailedWedge geometry -->
<readout name="HCalEndcapReadout">
<segmentation type="FCCSWGridPhiEta_k4geo" grid_size_eta="0.025" phi_bins="EndcapHCal_n_phi_modules" offset_eta="-3.5" offset_phi="-pi+(pi/EndcapHCal_n_phi_modules)"/>
<id>system:4,type:2,layer:5,row:9,eta:11,phi:10</id>
<segmentation type="FCCSWGridPhiTheta_k4geo" grid_size_theta="0.022180" phi_bins="EndcapHCal_n_phi_modules" offset_theta="0.007106" offset_phi="-pi+(pi/EndcapHCal_n_phi_modules)"/>
<id>system:4,type:3,layer:6,row:11,theta:11,phi:10</id>
</readout>
<readout name="HCalEndcapReadout_phieta">
<segmentation type="FCCSWGridPhiEta_k4geo" grid_size_eta="0.025" offset_eta="-3.5" phi_bins="256" offset_phi="-pi+pi/256."/>
<id>system:4,type:2,layer:4,eta:11,phi:10</id>
</readout>
<readout name="HCalEndcapReadout_phi">
<!-- the eta segmentation here is a dummy - the whole hcal is contained in one bin. the z position is stored in the "row" field. -->
<segmentation type="FCCSWGridPhiEta_k4geo" grid_size_eta="4." phi_bins="EndcapHCal_n_phi_modules" offset_eta="-3.5" offset_phi="-pi+(pi/EndcapHCal_n_phi_modules)"/>
<id>system:4,type:2,layer:5,row:9,eta:10,phi:10</id>
<readout name="HCalEndcapReadout_phitheta">
<segmentation type="FCCSWGridPhiTheta_k4geo" grid_size_theta="0.022180" phi_bins="EndcapHCal_n_phi_modules" offset_theta="0.007106" offset_phi="-pi+(pi/EndcapHCal_n_phi_modules)"/>
<id>system:4,type:3,layer:6,theta:11,phi:10</id>
</readout>
</readouts>

<!-- nmodules is the number of radial layers in the first part;
+ nsegments is the number of radial layers in the second part;
nPads is the number of radial layers in the third part -->

<detectors>
<detector id="DetID_HCAL_Endcap" name="HCalThreePartsEndcap" type="CaloThreePartsEndcap_o1_v01" readout="HCalEndcapReadout" >
<detector id="DetID_HCAL_Endcap" name="HCalThreePartsEndcap" type="CaloThreePartsEndcap_o1_v02" readout="HCalEndcapReadout" >
<!-- vis="endcapHcal_envelope"> -->
<sensitive type="BirksLawCalorimeterSD"/>
<dimensions rmin1="HCalEndcap_inner_radius1" rmin2="HCalEndcap_inner_radius2" rmin="HCalEndcap_inner_radius3"
Expand All @@ -70,25 +69,25 @@
<layer id="0" name="type_1" material="Air" vis="endcaphcal_barrel_layer_vis">
<dimensions
dr="100*mm"
nmodules="4"
nModules="4"
nmodules="5"
nsegments="4"
nPads="4"
/>
</layer>
<layer id="1" name="type_2" material="Air" vis="endcaphcal_barrel_layer_vis">
<dimensions
dr="150*mm"
nmodules="2"
nModules="3"
nPads="10"
nmodules="1"
nsegments="3"
nPads="10"
/>
</layer>
<layer id="2" name="type_3" material="Air" vis="endcaphcal_barrel_layer_vis">
<dimensions
dr="250*mm"
nmodules="0"
nModules="2"
nPads="8"
nsegments="2"
nPads="8"
/>
</layer>
</layers>
Expand Down
2 changes: 2 additions & 0 deletions FCCee/ALLEGRO/compact/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ ALLEGRO_o1_v03: with respect to v02 it features an ECal barrel with 11 layers an
The vertex detector and drift chamber are now taken directly from IDEA_o1_v03, this effectively updates both the vertex detector (which was taken from an old CLD version) and the drift chamber (which was corresponding to IDEA_o1_v02/DriftChamber_o1_v01.xml). The z-extent of the drift chamber is now unchanged w.r.t. the IDEA detector (2 m) since it requires optimization anyway.
Magnetic fields (solenoid + MDI) have been added.
Added "turbine-style" endcap ecal, and invoke this in the top-level xml (replacing the coneCyro geometry).
Added HCalBarrel_TileCal_v02.xml which uses HCalTileBarrel_o1_v02_geo.cpp and removed unused readout BarHCal_Readout_phi.
Added HCalEndcaps_ThreeParts_TileCal_v02.xml which uses HCalThreePartsEndcap_o1_v02_geo.cpp. Additionally, wrt v02 the readout was migrated to the theta-phi segmentation; unused readout *Readout_phi was removed; radial dimensions of layers were modified, so the outer radius of all three cylinders is the same.
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<lccdd>

<detectors>
<comment>Beampipe Instrumentation</comment>

<detector name="CompSol" type="DD4hep_Mask_o1_v01" insideTrackingVolume="true" vis="CompSolVis">
<parameter crossingangle="CrossingAngle" />
<envelope vis="CoilVis">
<shape type="Assembly"/>
</envelope>
<section type="Center" start="CompSol_min_z" end="QD0_min_z" rMin1="103*mm" rMin2="180*mm" rMax1="123*mm" rMax2="200*mm" material="SolenoidMixture" name="CompSol" />
</detector>

<detector name="ScreenSol" type="DD4hep_Mask_o1_v01" insideTrackingVolume="true" vis="ScreenSolVis">
<parameter crossingangle="CrossingAngle" />
<envelope vis="CoilVis">
<shape type="Assembly"/>
</envelope>

<section type="Center" start="QD0_min_z" end="QD0_min_z+5*cm" rMin1="SeparatedBeamPipe_rmax+1*mm+5*cm" rMin2="SeparatedBeamPipe_rmax+1*mm+5*cm" rMax1="200*mm" rMax2="200*mm" material="SolenoidMixture" name="CompSol" />

<section type="Center" start="QD0_min_z+5*cm" end="QD0_max_z" rMin1="180*mm" rMin2="180*mm" rMax1="200*mm" rMax2="200*mm" material="SolenoidMixture" name="CompSol" />
</detector>

</detectors>
</lccdd>
Loading

0 comments on commit 3557d0b

Please sign in to comment.