Skip to content

Commit

Permalink
Merge pull request #327 from vvolkl/feature-eeLArCalo
Browse files Browse the repository at this point in the history
FCCeeLAr calo first iteration
  • Loading branch information
clementhelsens authored Sep 13, 2019
2 parents 20c8e89 + 16fc5c8 commit 7f9ba61
Show file tree
Hide file tree
Showing 54 changed files with 2,491 additions and 130 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@
*.pyc
*.root
*.png
*.pdf
*.swp

*.dat
*.gdml

*.log
build.*.log
Makefile
Expand Down
8 changes: 8 additions & 0 deletions Detector/DetFCCeeECalInclined/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
################################################################################
#Package : DetFCCeeECalInclined
################################################################################
gaudi_subdir(DetFCCeeECalInclined v1r0)

gaudi_depends_on_subdirs(GaudiKernel)

install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/compact DESTINATION ${CMAKE_INSTALL_DATADIR}/${CMAKE_PROJECT_NAME}/Detector/DetFCCeeECalInclined)
107 changes: 107 additions & 0 deletions Detector/DetFCCeeECalInclined/compact/FCCee_ECalBarrel_Common.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
<?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="FCCee_ECalBarrel_Common"
title="Common settings for Inclined ECal Barrel Calorimeter"
author="M.Aleksa,J.Faltova,A.Zaborowska"
url="no"
status="development"
version="1.0">
<comment>
Common settings for the inclined EM calorimeter.
The barrel is filled with liquid argon. Passive material includes lead in the middle and steal on the outside, glued together.
Passive plates are inclined by a certain angle from the radial direction.
In between of two passive plates there is a readout.
Space between the plate and readout is of trapezoidal shape and filled with liquid argon.
The calorimeter is divided into 0.5 cm layers, making the simulation flexible for the design studies.
Current study considers layer size const in eta: 2cm + 7 x 9cm.
Definition of sizes, visualization settings and readout are specified.
</comment>
</info>

<define>
<constant name="LArBathThicknessFront" value="90*mm"/>
<constant name="LArBathThicknessBack" value="50*mm"/>
<!-- overall calorimeter volume (cryostat) -->
<!-- 3 cm air margin -->
<constant name="BarCryoECal_rmin" value="BarECal_rmin+3*cm"/>
<constant name="BarCryoECal_rmax" value="BarECal_rmax-3*cm"/>
<constant name="BarCryoECal_dz" value="BarECal_dz"/>
<!-- calorimeter active volume -->
<constant name="EMBarrel_rmin" value="BarCryoECal_rmin+CommonCryoThicknessFront+LArBathThicknessFront"/>
<constant name="EMBarrel_rmax" value="BarCryoECal_rmax-CommonCryoThicknessBack-LArBathThicknessBack"/>
<constant name="EMBarrel_dz" value="BarECal_dz-CommonCryoThicknessSide"/>
<!-- thickness of active volume between two absorber plates, measuring perpendicular to the readout plate -->
<constant name="LAr_thickness" value="1.806*mm"/>
<!-- passive layer consists of lead in the middle and steel on the outside, glued -->
<constant name="Pb_thickness" value="1.5*mm*2./2.16"/>
<!-- total amount of steel in one passive plate: it is divided for the outside layer on top and bottom -->
<constant name="Steel_thickness" value="0.4*mm*2./2.16"/>
<!-- total amount of glue in one passive plate: it is divided for the outside layer on top and bottom -->
<constant name="Glue_thickness" value="0.26*mm*2./2.16"/>
<!-- readout in between two absorber plates -->
<constant name="readout_thickness" value="1.2*mm"/>
</define>

<display>
<vis name="ecal_envelope" r="0.1" g="0.2" b="0.6" alpha="1" showDaughers="false" visible="true" />
</display>

<readouts>
<!-- readout for the simulation -->
<!-- offset in eta is the max eta for barrel - half cell size ( = centre of first cell) -->
<readout name="ECalBarrelEta">
<segmentation type="GridEta" grid_size_eta="0.01" offset_eta="-1.68024"/>
<id>system:4,cryo:1,type:3,subtype:3,layer:8,module:11,eta:9</id>
</readout>
<!-- readout for the reconstruction -->
<!-- phi position is calculated based on the centre of volume (hence it cannot be done in the simulation from energy deposits position) -->
<readout name="ECalBarrelPhiEta">
<segmentation type="FCCSWGridPhiEta" grid_size_eta="0.01" phi_bins="704" offset_eta="-1.68024" offset_phi="-pi+(pi/704.)"/>
<id>system:4,cryo:1,type:3,subtype:3,layer:8,eta:9,phi:10</id>
</readout>
</readouts>

<detectors>
<detector id="BarECal_id" name="ECalBarrel" type="EmCaloBarrelInclined" readout="ECalBarrelEta">
<sensitive type="SimpleCalorimeterSD"/>
<dimensions rmin="BarCryoECal_rmin" rmax="BarCryoECal_rmax" dz="BarCryoECal_dz" vis="ecal_envelope"/>
<cryostat name="ECAL_Cryo">
<material name="Aluminum"/>
<dimensions rmin1="BarCryoECal_rmin" rmin2="BarCryoECal_rmin+CryoThicknessFront" rmax1="BarCryoECal_rmax-CryoThicknessBack" rmax2="BarCryoECal_rmax" dz="BarCryoECal_dz"/>
<front sensitive="false"/> <!-- inner wall of the cryostat -->
<side sensitive="false"/> <!-- both sides of the cryostat -->
<back sensitive="false"/> <!-- outer wall of the cryostat -->
</cryostat>
<calorimeter name="EM_barrel">
<dimensions rmin="EMBarrel_rmin" rmax="EMBarrel_rmax" dz="EMBarrel_dz" offset="-50/180*pi"/>
<active thickness="LAr_thickness">
<material name="LAr"/>
<overlap offset="0.5"/>
</active>
<passive>
<rotation angle="50*degree"/>
<inner thickness="Pb_thickness" sensitive="false">
<material name="Lead"/>
</inner>
<glue thickness="Glue_thickness" sensitive="false">
<material name="lArCaloGlue"/>
</glue>
<outer thickness="Steel_thickness" sensitive="false">
<material name="lArCaloSteel"/>
</outer>
</passive>
<readout thickness="readout_thickness" sensitive="false">
<material name="PCB"/>
</readout>
<layers>
<layer thickness="2*cm" repeat="1"/>
<layer thickness="8*cm" repeat="7"/>
</layers>
</calorimeter>
</detector>
</detectors>

</lccdd>
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
<?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="FCCee_ECalBarrel_Common"
title="Common settings for Inclined ECal Barrel Calorimeter"
author="M.Aleksa,J.Faltova,A.Zaborowska"
url="no"
status="development"
version="1.0">
<comment>
Common settings for the inclined EM calorimeter.
The barrel is filled with liquid argon. Passive material includes lead in the middle and steal on the outside, glued together.
Passive plates are inclined by a certain angle from the radial direction.
In between of two passive plates there is a readout.
Space between the plane and readout is of trapezoidal shape and filled with liquid argon.
Definition of sizes, visualization settings and readout are specified.
This file is used in the calculation of the sampling fraction that corrects energy for the energy depoisted in the absorber.
Calculation of the sampling fraction can be done as both passive and active material is sensitive.
</comment>
</info>

<define>
<constant name="LArBathThicknessFront" value="90*mm"/>
<constant name="LArBathThicknessBack" value="50*mm"/>
<!-- overall calorimeter volume (cryostat) -->
<!-- 3 cm air margin -->
<constant name="BarCryoECal_rmin" value="BarECal_rmin+3*cm"/>
<constant name="BarCryoECal_rmax" value="BarECal_rmax-3*cm"/>
<constant name="BarCryoECal_dz" value="BarECal_dz"/>
<!-- calorimeter active volume -->
<constant name="EMBarrel_rmin" value="BarCryoECal_rmin+CommonCryoThicknessFront+LArBathThicknessFront"/>
<constant name="EMBarrel_rmax" value="BarCryoECal_rmax-CommonCryoThicknessBack-LArBathThicknessBack"/>
<constant name="EMBarrel_dz" value="BarECal_dz-CommonCryoThicknessSide"/>
<!-- thickness of active volume between two absorber plates, measuring perpendicular to the readout plate -->
<constant name="LAr_thickness" value="2.306*mm"/>
<!-- passive layer consists of lead in the middle and steel on the outside, glued -->
<constant name="Pb_thickness" value="1.5*mm*2./2.16"/>
<!-- total amount of steel in one passive plate: it is divided for the outside layer on top and bottom -->
<constant name="Steel_thickness" value="0.4*mm*2./2.16"/>
<!-- total amount of glue in one passive plate: it is divided for the outside layer on top and bottom -->
<constant name="Glue_thickness" value="0.26*mm*2./2.16"/>
<!-- readout in between two absorber plates -->
<constant name="readout_thickness" value="1.2*mm"/>
</define>

<display>
<vis name="ecal_envelope" r="0.1" g="0.2" b="0.6" alpha="1" showDaughers="false" visible="true" />
</display>

<readouts>
<!-- readout for the simulation -->
<!-- offset in eta is the max eta for barrel - half cell size ( = centre of first cell) -->
<readout name="ECalBarrelEta">
<segmentation type="GridEta" grid_size_eta="0.01" offset_eta="-1.8"/>
<id>system:4,cryo:1,module:11,type:3,subtype:3,layer:8,eta:9</id>
</readout>
<!-- readout for the reconstruction -->
<!-- phi position is calculated based on the centre of volume (hence it cannot be done in the simulation from energy deposits position) -->
<readout name="ECalBarrelPhiEta">
<segmentation type="FCCSWGridPhiEta" grid_size_eta="0.01" phi_bins="704" offset_eta="-1.8" offset_phi="-pi+(pi/704.)"/>
<id>system:4,cryo:1,type:3,subtype:3,layer:8,eta:9,phi:10</id>
</readout>
</readouts>

<detectors>
<detector id="BarECal_id" name="ECalBarrel" type="EmCaloBarrelInclined" readout="ECalBarrelEta">
<sensitive type="SimpleCalorimeterSD"/>
<dimensions rmin="BarCryoECal_rmin" rmax="BarCryoECal_rmax" dz="BarCryoECal_dz" vis="ecal_envelope"/>
<cryostat name="ECAL_Cryo">
<material name="Aluminum"/>
<dimensions rmin1="BarCryoECal_rmin" rmin2="BarCryoECal_rmin+CryoThicknessFront" rmax1="BarCryoECal_rmax-CryoThicknessBack" rmax2="BarCryoECal_rmax" dz="BarCryoECal_dz"/>
<front sensitive="false"/> <!-- inner wall of the cryostat -->
<side sensitive="false"/> <!-- both sides of the cryostat -->
<back sensitive="false"/> <!-- outer wall of the cryostat -->
</cryostat>
<calorimeter name="EM_barrel">
<dimensions rmin="EMBarrel_rmin" rmax="EMBarrel_rmax" dz="EMBarrel_dz" offset="-50/180*pi"/>
<active thickness="LAr_thickness">
<material name="LAr"/>
<overlap offset="0.5"/>
</active>
<passive>
<rotation angle="50*degree"/>
<inner thickness="Pb_thickness" sensitive="true">
<material name="Lead"/>
</inner>
<glue thickness="Glue_thickness" sensitive="true">
<material name="lArCaloGlue"/>
</glue>
<outer thickness="Steel_thickness" sensitive="true">
<material name="lArCaloSteel"/>
</outer>
</passive>
<readout thickness="readout_thickness" sensitive="true">
<material name="PCB"/>
</readout>
<layers>
<layer thickness="2*cm" repeat="1"/>
<!-- ee: scaled down compared to hh to fit into 45 cm -->
<layer thickness="6.142*cm" repeat="7"/>
</layers>
</calorimeter>
</detector>
</detectors>

</lccdd>
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
<?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="FCCee_ECalBarrel_Common"
title="Common settings for Inclined ECal Barrel Calorimeter"
author="M.Aleksa,J.Faltova,A.Zaborowska"
url="no"
status="development"
version="1.0">
<comment>
Common settings for the inclined EM calorimeter.
The barrel is filled with liquid argon. Passive material includes lead in the middle and steal on the outside, glued together.
Passive plates are inclined by a certain angle from the radial direction.
In between of two passive plates there is a readout.
Space between the plate and readout is of trapezoidal shape and filled with liquid argon.
The calorimeter is divided into 0.5 cm layers, making the simulation flexible for the design studies.
Current study considers layer size const in eta: 2cm + 7 x 9cm.
Definition of sizes, visualization settings and readout are specified.
This file is used in the calculation of the energy deposited in the upstream material (cryostat in front of the detector).
Cryostat volume can be distinguished by ID: 'cryostat'==1 and 'type'==1 (cryo front) or 2 (cryo back) or 3 (cryo sides)
or 4 (LAr bath front) or 5 (LAr bath back).
</comment>
</info>

<define>
<constant name="LArBathThicknessFront" value="90*mm"/>
<constant name="LArBathThicknessBack" value="50*mm"/>
<!-- overall calorimeter volume (cryostat) -->
<!-- 3 cm air margin -->
<constant name="BarCryoECal_rmin" value="BarECal_rmin+3*cm"/>
<constant name="BarCryoECal_rmax" value="BarECal_rmax-3*cm"/>
<constant name="BarCryoECal_dz" value="BarECal_dz"/>
<!-- calorimeter active volume -->
<constant name="EMBarrel_rmin" value="BarCryoECal_rmin+CommonCryoThicknessFront+LArBathThicknessFront"/>
<constant name="EMBarrel_rmax" value="BarCryoECal_rmax-CommonCryoThicknessBack-LArBathThicknessBack"/>
<constant name="EMBarrel_dz" value="BarECal_dz-CommonCryoThicknessSide"/>
<!-- thickness of active volume between two absorber plates, measuring perpendicular to the readout plate -->
<constant name="LAr_thickness" value="2.306*mm"/>
<!-- passive layer consists of lead in the middle and steel on the outside, glued -->
<constant name="Pb_thickness" value="1.5*mm*2./2.16"/>
<!-- total amount of steel in one passive plate: it is divided for the outside layer on top and bottom -->
<constant name="Steel_thickness" value="0.4*mm*2./2.16"/>
<!-- total amount of glue in one passive plate: it is divided for the outside layer on top and bottom -->
<constant name="Glue_thickness" value="0.26*mm*2./2.16"/>
<!-- readout in between two absorber plates -->
<constant name="readout_thickness" value="1.2*mm"/>
</define>

<display>
<vis name="ecal_envelope" r="0.1" g="0.2" b="0.6" alpha="1" showDaughers="false" visible="true" />
</display>

<readouts>
<!-- readout for the simulation -->
<!-- offset in eta is the max eta for barrel - half cell size ( = centre of first cell) -->
<readout name="ECalBarrelEta">
<segmentation type="GridEta" grid_size_eta="0.01" offset_eta="-1.7723"/>
<id>system:4,cryo:1,module:11,type:3,subtype:3,layer:8,eta:9</id>
</readout>
<!-- readout for the reconstruction -->
<!-- phi position is calculated based on the centre of volume (hence it cannot be done in the simulation from energy deposits position) -->
<readout name="ECalBarrelPhiEta">
<segmentation type="FCCSWGridPhiEta" grid_size_eta="0.01" phi_bins="704" offset_eta="-1.7723" offset_phi="-pi+(pi/704.)"/>
<id>system:4,cryo:1,type:3,subtype:3,layer:8,eta:9,phi:10</id>
</readout>
</readouts>

<detectors>
<detector id="BarECal_id" name="ECalBarrel" type="EmCaloBarrelInclined" readout="ECalBarrelEta">
<sensitive type="SimpleCalorimeterSD"/>
<dimensions rmin="BarCryoECal_rmin" rmax="BarCryoECal_rmax" dz="BarCryoECal_dz" vis="ecal_envelope"/>
<cryostat name="ECAL_Cryo">
<material name="Aluminum"/>
<dimensions rmin1="BarCryoECal_rmin" rmin2="BarCryoECal_rmin+CryoThicknessFront" rmax1="BarCryoECal_rmax-CryoThicknessBack" rmax2="BarCryoECal_rmax" dz="BarCryoECal_dz"/>
<front sensitive="true"/> <!-- inner wall of the cryostat -->
<side sensitive="false"/> <!-- both sides of the cryostat -->
<back sensitive="false"/> <!-- outer wall of the cryostat -->
</cryostat>
<calorimeter name="EM_barrel">
<dimensions rmin="EMBarrel_rmin" rmax="EMBarrel_rmax" dz="EMBarrel_dz" offset="-50/180*pi"/>
<active thickness="LAr_thickness">
<material name="LAr"/>
<overlap offset="0.5"/>
</active>
<passive>
<rotation angle="50*degree"/>
<inner thickness="Pb_thickness" sensitive="false">
<material name="Lead"/>
</inner>
<glue thickness="Glue_thickness" sensitive="false">
<material name="lArCaloGlue"/>
</glue>
<outer thickness="Steel_thickness" sensitive="false">
<material name="lArCaloSteel"/>
</outer>
</passive>
<readout thickness="readout_thickness" sensitive="false">
<material name="PCB"/>
</readout>
<layers>
<layer thickness="2*cm" repeat="1"/>
<layer thickness="9*cm" repeat="7"/>
</layers>
</calorimeter>
</detector>
</detectors>

</lccdd>
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<define>
<constant name="CommonCryoThicknessFront" value="50*mm"/>
<constant name="CommonCryoThicknessBack" value="100*mm"/>
<constant name="CommonCryoThicknessSide" value="100*mm"/>
</define>
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?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="FCCee_ECalBarrel_Inclined"
title="Inclined ECal Barrel Calorimeter"
author="M.Aleksa,J.Faltova,A.Zaborowska"
url="no"
status="development"
version="1.0">
<comment>
Liquid argon / lead EM calorimeter design.
Passive plate inlcude lead in the middle, with steal on both sides, glued together.
Passive plates are inclined by a certain angle from the radial direction. The barrel is filled with liquid argon.
It includes cryostat.
This file is used in the calculation of the sampling fraction that corrects energy for the energy depoisted in the absorber.
Calculation of the sampling fraction can be done as both passive and active material is sensitive.
</comment>
</info>

<define>
<include ref="FCCee_ECalBarrel_CrystatThickness.xml" />
<constant name="CryoThicknessFront" value="CommonCryoThicknessFront"/>
<constant name="CryoThicknessBack" value="CommonCryoThicknessBack"/>
<constant name="CryoThicknessSide" value="CommonCryoThicknessSide"/>
</define>

<include ref="./FCCee_ECalBarrel_Common_calibration.xml" />

</lccdd>
Loading

0 comments on commit 7f9ba61

Please sign in to comment.