Skip to content

Commit

Permalink
added field maps (to fix) and quadrupoles
Browse files Browse the repository at this point in the history
  • Loading branch information
aciarma committed Aug 29, 2024
1 parent f424af0 commit e15659e
Show file tree
Hide file tree
Showing 5 changed files with 192 additions and 69 deletions.
77 changes: 77 additions & 0 deletions FCCee/MDI/compact/MDI_o1_v00/FFQuad_sens_o1_v01.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<!--<?xml version="1.0" encoding="UTF-8"?>-->

<lccdd>

<!-- #==========================================================================
# AIDA Detector description implementation
#==========================================================================
# Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
# All rights reserved.
#
# For the licensing terms see $DD4hepINSTALL/LICENSE.
# For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
#
#==========================================================================
-->
<info name="FFQs"
title="Final Focusing Quadrupoles"
author="Andrea Ciarma"
url="no"
status="development"
version="1">
<comment>Final Focusing Quadrupoles simplified model - Started from MaskTrafos.xml by A. Sailer</comment>
</info>

<define>
<constant name="QC1_rmin" value="42/2*mm"/>
<constant name="QC1_rmax" value="64/2*mm"/>
<constant name="QC1L1_len" value="700*mm"/>
<constant name="QC1L2_len" value="1250*mm"/>
<constant name="QC1L3_len" value="1250*mm"/>
<constant name="QC1L1_start" value="2200*mm"/>
<constant name="QC1L2_start" value="QC1L1_start+QC1L1_len+8*cm"/>
<constant name="QC1L3_start" value="QC1L2_start+QC1L2_len+8*cm"/>

</define>

<readouts>
<!-- this may be improved -->
<readout name="FFQ_Readout">
<id>system:5,side:-2,layer:6,module:11,sensor:8</id>
</readout>
</readouts>

<detectors>
<detector name="QC1" type="DD4hep_Mask_o1_v01" vis="KICKVis" id="DetID_FFQs" readout="FFQ_Readout">
<parameter crossingangle="CrossingAngle" />
<envelope vis="KICKVis">
<shape type="Assembly"/>
</envelope>
<section type="Upstream" start="QC1L1_start" end="QC1L1_start+QC1L1_len"
rMin1="QC1_rmin" rMin2="QC1_rmin"
rMax1="QC1_rmax" rMax2="QC1_rmax"
material="FFQMaterial" name="QC1L1u" sensitive="tracker"/>
<section type="Dnstream" start="QC1L1_start" end="QC1L1_start+QC1L1_len"
rMin1="QC1_rmin" rMin2="QC1_rmin"
rMax1="QC1_rmax" rMax2="QC1_rmax"
material="FFQMaterial" name="QC1L1d" sensitive="tracker"/>
<section type="Upstream" start="QC1L2_start" end="QC1L2_start+QC1L2_len"
rMin1="QC1_rmin" rMin2="QC1_rmin"
rMax1="QC1_rmax" rMax2="QC1_rmax"
material="FFQMaterial" name="QC1L2u" sensitive="tracker"/>
<section type="Dnstream" start="QC1L2_start" end="QC1L2_start+QC1L2_len"
rMin1="QC1_rmin" rMin2="QC1_rmin"
rMax1="QC1_rmax" rMax2="QC1_rmax"
material="FFQMaterial" name="QC1L2d" sensitive="tracker"/>
<section type="Upstream" start="QC1L3_start" end="QC1L3_start+QC1L3_len"
rMin1="QC1_rmin" rMin2="QC1_rmin"
rMax1="QC1_rmax" rMax2="QC1_rmax"
material="FFQMaterial" name="QC1L3u" sensitive="tracker"/>
<section type="Dnstream" start="QC1L3_start" end="QC1L3_start+QC1L3_len"
rMin1="QC1_rmin" rMin2="QC1_rmin"
rMax1="QC1_rmax" rMax2="QC1_rmax"
material="FFQMaterial" name="QC1L3d" sensitive="tracker"/>
</detector>
</detectors>

</lccdd>
88 changes: 21 additions & 67 deletions FCCee/MDI/compact/MDI_o1_v00/MDI_Dimensions_Materials.xml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,23 @@
<fraction n="0.061" ref="Ni"/>
<fraction n="0.009" ref="Fe"/>
</material>

<!-- for Final Focus Quadrupoles, from M. Koratzinos -->
<material name="Paraffine" state="solid">
<D unit="g/cm3" value="0.8"/>
<fraction n="0.334" ref="C"/>
<fraction n="0.666" ref="H"/>
</material>

<material name="FFQMaterial">
<D type="density" value="3.367" unit="g/cm3"/>
<fraction n="0.654058214" ref="Al"/>
<fraction n="0.03095534" ref="Nb"/>
<fraction n="0.03095534" ref="Ti"/>
<fraction n="0.117630293" ref="Cu"/>
<fraction n="0.097743288" ref="Paraffine"/>
<fraction n="0.068657524" ref="Kapton"/>
</material>

</materials>

Expand Down Expand Up @@ -118,76 +135,13 @@
<constant name="LumiCal_shield_dz_prime" value="3.5/2.0*mm"/> <!-- Must be consistent with layers defined in the lumiCal xml (1*3.5 mm)-->
<constant name="LumiCal_shield_dz" value="LumiCal_shield_dz_prime * cos(0.5 * CrossingAngle)"/>


<!-- maybe outdated, but used in beampipe and beaminstr. To be checked -->
<constant name="QD0_min_z" value="2000*mm"/>
<constant name="QD0_max_z" value="5400*mm"/>
</define>


<fields>
<!--
<field name="GlobalSolenoid" type="solenoid"
inner_field="SolenoidField"
outer_field="-1.0*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>
-->
<!-- Detailed field map -->
<!--field name="TestField" type="FieldXYZ"
filename = "fieldMapXYZ_120218.root"
treeName = "ntuple"
xVarName = "X"
yVarName = "Y"
zVarName = "Z"
BxVarName = "Bx"
ByVarName = "By"
BzVarName = "Bz"
xScale = "1.0"
yScale = "1.0"
zScale = "1.0"
bScale = "1.0"
inner_radius="0*mm"
outer_radius="500*mm"
zmax="3000*mm"
coorUnits = "mm"
BfieldUnits = "tesla">
</field-->

<!-- to check with the visualisation that this works... :
<field name="GlobalSolenoid" type="solenoid"
inner_field="SolenoidField"
outer_field="-1.5*tesla"
zmax="1*m"
outer_radius="Solenoid_Coil_radius">
</field>
<field name="CompensatingSolenoid" type="solenoid"
inner_field="-SolenoidField"
outer_field="0*tesla"
zmax="3*m"
zmin="1*m"
outer_radius="Solenoid_Coil_radius">
</field>
-->


</fields>

<!-- Final Focus Quadrupoles -->

</define>

</lccdd>
9 changes: 7 additions & 2 deletions FCCee/MDI/compact/MDI_o1_v00/MDI_standalone.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,18 @@
<constant name="DetID_LumiCalBackShield" value=" 18"/>
<constant name="DetID_HOMAbsorber" value=" 19"/>
<constant name="DetID_LumiCalNoseShield" value=" 22"/>
<constant name="DetID_FFQs" value="23"/>
</define>

<include ref="MDI_Dimensions_Materials.xml" />

<include ref="Beampipe_o4_v05.xml"/>
<include ref="BeamInstrumentation_o1_v01.xml"/>
<include ref="LumiCal_o3_v02_05.xml"/>
<include ref="HOMAbsorber.xml"/>

<include ref="HOMAbsorber.xml"/>
<include ref="FFQuad_sens_o1_v01.xml"/>
<!-- <include ref="fields_antisol_map.xml"/> -->
<!-- <include ref="${k4geo_DIR}/ILD/compact/ILD_common_v02/Field_AntiDID_Map_l.xml"/> -->
<!-- <include ref="fields_antisol_ideal.xml"/> -->

</lccdd>
55 changes: 55 additions & 0 deletions FCCee/MDI/compact/MDI_o1_v00/fields_antisol_ideal.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<lccdd>

<define>
<constant name="Solenoid_inner_radius" value="3719*mm"/>
<constant name="Solenoid_outer_radius" value="4272*mm"/>
<constant name="Solenoid_half_length" value="3705*mm"/>
<constant name="Solenoid_Coil_half_length" value="3476*mm"/>
<constant name="Solenoid_Coil_radius" value="3930*mm"/>
</define>

<fields>
<field name="GlobalSolenoid" type="solenoid"
inner_field="SolenoidField"
outer_field="-1.0*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>

<!-- to check with the visualisation that this works... :
<field name="GlobalSolenoid" type="solenoid"
inner_field="SolenoidField"
outer_field="-1.5*tesla"
zmax="1*m"
outer_radius="Solenoid_Coil_radius">
</field>
<field name="CompensatingSolenoid" type="solenoid"
inner_field="-SolenoidField"
outer_field="0*tesla"
zmax="3*m"
zmin="1*m"
outer_radius="Solenoid_Coil_radius">
</field>
-->


</fields>


</lccdd>
32 changes: 32 additions & 0 deletions FCCee/MDI/compact/MDI_o1_v00/fields_antisol_map.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<lccdd>
<info name="fields_antisol_map"
title="Magnetic field for the compensating and screening solenoids only. Field map from M. Koratzinos"
author="Andrea Ciarma"
url=""
status="development"
version="1">
<comment>Dimensions and Materials for the FCCee common MDI</comment>
</info>

<fields>
<!-- Detailed field map -->
<field name="AntisolField" type="FieldXYZ"
filename = "${k4geo_DIR}/fieldmaps/FCCee_fieldMapXYZ_120218.root"
treeName = "ntuple"
xVarName = "X"
yVarName = "Y"
zVarName = "Z"
BxVarName = "Bx"
ByVarName = "By"
BzVarName = "Bz"
xScale = "1.0"
yScale = "1.0"
zScale = "1.0"
bScale = "1.0"
coorUnits = "mm"
BfieldUnits = "tesla"
>
</field>
</fields>

</lccdd>

0 comments on commit e15659e

Please sign in to comment.