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

E cal endcap turbine v3 topo #420

Closed
wants to merge 50 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
8918dc0
Add v02 of turbine endcal ecal
Aug 11, 2024
cbf2061
Fix up some printouts
Aug 21, 2024
b27d91a
Fix printouts
varnes Aug 21, 2024
618c32c
Fix printouts
varnes Aug 21, 2024
aefe3dc
Fix printouts
varnes Aug 21, 2024
c8e0e1c
Fix printouts
Aug 21, 2024
8c3e7e0
Fix printout
Aug 22, 2024
5b6bbda
IDEA with DRC dedicated test added
atolosadelgado Aug 6, 2024
3ce5a93
fix IDEA with DRC test
atolosadelgado Aug 6, 2024
ec4bafb
apply other SD action to DRC
atolosadelgado Aug 6, 2024
3469187
still not working...
atolosadelgado Aug 7, 2024
d5fcfa2
replace absolute path by cmake variables in ctest
atolosadelgado Aug 7, 2024
e216820
fix test_IDEA_o1_v03 by removing DRC steering file
atolosadelgado Aug 7, 2024
7627e64
IDEA+DRC test is now working
atolosadelgado Aug 7, 2024
d1cf484
copy TrackerBarrel_o1_v06
Zehvogel Aug 5, 2024
64f451c
copy CLD_o2_v06 to CLD_o2_v07
Zehvogel Aug 8, 2024
fc53e29
update version
Zehvogel Aug 8, 2024
852d358
Use new TrackerBarrel
Zehvogel Aug 8, 2024
f615cda
TrackerBarrel_o1_v06 remove using namespace std
Zehvogel Aug 9, 2024
eea9c6b
move NeighbourSurfacesData population into a function
Zehvogel Aug 9, 2024
6f66781
Move LayerLayout population out of the sensor loop
Zehvogel Aug 9, 2024
94ecd58
TrackerBarrel_o1_v06 add assembly stave
Zehvogel Aug 14, 2024
761a832
addExtensionsToHCalAllegro
mmlynari Jul 4, 2024
ceac3bf
implemented suggestions from discussion
mmlynari Jul 11, 2024
7b4f64a
implement comments and improve code readibility
mmlynari Jul 31, 2024
703035e
fix failing test and remove unused phi segmentation
mmlynari Aug 2, 2024
e681c05
fix endcap bitfields and improve readibility
mmlynari Aug 5, 2024
2f232db
keep ALLEGRO v03 xml file unchanged
mmlynari Aug 7, 2024
80dc4f2
adding version nr also for the barrel xml
mmlynari Aug 8, 2024
ca171e8
update READMEs
mmlynari Aug 13, 2024
dafcdac
add HCalTileBarrel_o1_v02_geo.cpp
mmlynari Aug 13, 2024
f34ca62
CLD_o2_v07: start with new lumical to fix overlaps
andresailer Aug 27, 2024
60e2106
CLD_o2_v07: remove old lumical xml
andresailer Aug 27, 2024
554b125
Updates for v2 of turbine geometry
Oct 4, 2024
ccb413c
Updates for v2 of turbine geometry
Oct 4, 2024
206b4e8
Updates for v2 of turbine geometry
Oct 4, 2024
f5ee266
Fix bugs in LAr bath placement and in placement of passive elements w…
Oct 23, 2024
5fb1e88
Calibration layers in z as well as rho
Nov 21, 2024
ba741cd
Update to use z calibration layers
Nov 21, 2024
7c3d6f1
Add v03 of the turbine geometry
Dec 23, 2024
ecc4dea
Updates for topological clustering
Jan 10, 2025
81838cd
Updates for topological clustering
Jan 10, 2025
7a4a8d6
Updates for topological clustering
Jan 10, 2025
fbb429a
Fix a few typos
Jan 12, 2025
03a4834
Fix compiler warnings
Jan 12, 2025
9898337
Update nominal detector model for turbing ecal endcap
Jan 13, 2025
e25dc0e
remove cout's
Jan 13, 2025
6f10ebc
Change NL to LAr
Jan 15, 2025
7ee82e2
Update with description of v03
Jan 16, 2025
702be80
Add some new accessor function
Jan 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 54 additions & 27 deletions FCCee/ALLEGRO/compact/ALLEGRO_o1_v03/ECalEndcaps_Turbine.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,23 +40,54 @@
<constant name="EMEC_rmin2" value="EMEC_rmin1"/>
<constant name="EMEC_rmax" value="ECalEndcap_outer_radius - CryoEMECThicknessOuter - BathThicknessOuter"/>
<!-- LAr thickness: double gap size -->
<constant name="ECalEndcapNumPlanes" value="928"/>
<constant name="ECalEndcapNumCalibLayers" value="10"/>
<constant name="ECalEndcapNumCalibRhoLayersWheel1" value="10"/>
<constant name="ECalEndcapNumCalibZLayersWheel1" value="5"/>
<constant name="ECalEndcapNumCalibRhoLayersWheel2" value="14"/>
<constant name="ECalEndcapNumCalibZLayersWheel2" value="1"/>
<constant name="ECalEndcapNumCalibRhoLayersWheel3" value="34"/>
<constant name="ECalEndcapNumCalibZLayersWheel3" value="1"/>
<constant name="ECalEndcapNumReadoutRhoLayersWheel1" value="10"/>
<constant name="ECalEndcapNumReadoutZLayersWheel1" value="10"/>
<constant name="ECalEndcapNumReadoutRhoLayersWheel2" value="14"/>
<constant name="ECalEndcapNumReadoutZLayersWheel2" value="10"/>
<constant name="ECalEndcapNumReadoutRhoLayersWheel3" value="34"/>
<constant name="ECalEndcapNumReadoutZLayersWheel3" value="10"/>
<constant name="nWheels" value="3" />
<!-- following three lines just to satisfy new segmentation interface -->
<constant name="BladeAngle1" value="41*deg" />
<constant name="BladeAngle2" value="41*deg" />
<constant name="BladeAngle3" value="41*deg" />

<constant name="BladeAngle" value="41*deg" />
<constant name="BladeAngle1" value="49*deg" />
<constant name="BladeAngle2" value="49*deg" />
<constant name="BladeAngle3" value="49*deg" />
<constant name="NobleLiquidGap" value="3.9*mm" />
<constant name="AbsorberBladeThickness" value="2.9*mm" />
<constant name="AbsorberBladeThickness1" value="1.3*mm" />
<constant name="AbsorberBladeThickness2" value="1.3*mm" />
<constant name="AbsorberBladeThickness3" value="1.3*mm" />
<constant name="ElectrodeBladeThickness" value="1.3*mm" />
<constant name="AbsorberBladeThicknessScaleFactor1" value="1.0" />
<constant name="AbsorberBladeThicknessScaleFactor2" value="1.0" />
<constant name="AbsorberBladeThicknessScaleFactor3" value="1.0" />
<constant name="ECalEndcapSupportTubeThickness" value="10.0*mm" />
<constant name="ECalEndcapRmin" value="CryoEndcap_front_rmin+CryoEMECThicknessInner" />
<constant name="ECalEndcapRMax" value="CryoEndcap_rmax-CryoEMECThicknessOuter" />
<constant name="ECalEndcapRadiusRatio" value="(ECalEndcapRMax/ECalEndcapRmin)^(1./nWheels)" />
<constant name="ECalEndcapRmin1" value="ECalEndcapRmin" />
<constant name="ECalEndcapRmax1" value="ECalEndcapRmin1*ECalEndcapRadiusRatio" />
<constant name="ECalEndcapRmin2" value="ECalEndcapRmax1" />
<constant name="ECalEndcapRmax2" value="ECalEndcapRmin2*ECalEndcapRadiusRatio" />
<constant name="ECalEndcapRmin3" value="ECalEndcapRmax2" />
<constant name="ECalEndcapRmax3" value="ECalEndcapRmin3*ECalEndcapRadiusRatio" />
<constant name="ECalEndcapGridSizeRho1" value="(ECalEndcapRmax1-ECalEndcapRmin1-ECalEndcapSupportTubeThickness)/ECalEndcapNumReadoutRhoLayersWheel1" />
<constant name="ECalEndcapGridSizeRho2" value="(ECalEndcapRmax2-ECalEndcapRmin2-ECalEndcapSupportTubeThickness)/ECalEndcapNumReadoutRhoLayersWheel2" />
<constant name="ECalEndcapGridSizeRho3" value="(ECalEndcapRmax3-ECalEndcapRmin3-ECalEndcapSupportTubeThickness)/ECalEndcapNumReadoutRhoLayersWheel3" />
<constant name="ECalEndcapGridSizeZ1" value="(EMEC_z2-EMEC_z1)/ECalEndcapNumReadoutZLayersWheel1" />
<constant name="ECalEndcapGridSizeZ2" value="(EMEC_z2-EMEC_z1)/ECalEndcapNumReadoutZLayersWheel2" />
<constant name="ECalEndcapGridSizeZ3" value="(EMEC_z2-EMEC_z1)/ECalEndcapNumReadoutZLayersWheel3" />

<!-- total amount of steel in one passive plate: it is divided for the outside layer on top and bottom -->
<constant name="EMEC_steel_thickness" value="0.1*mm"/>
<!-- total amount of glue in one passive plate: it is divided for the outside layer on top and bottom -->
<constant name="EMEC_glue_thickness" value="0.1*mm"/>
<constant name="nUnitCellsLeastCommonMultiple" value="78336"/>
<constant name="EMEC_glue_thickness" value="0.1*mm"/>
<constant name="nUnitCells1" value="384"/>
<constant name="nUnitCells2" value="720"/>
<constant name="nUnitCells3" value="1360"/>
</define>

<display>
Expand All @@ -73,16 +104,11 @@

<readouts>
<readout name="ECalEndcapTurbine">
<!-- temporarily use the same segmentation as the barrel ECal, since that works in reco, even though it's not ideal (or maybe not even tenable) for the endcap
<segmentation type="FCCSWGridModuleThetaMerged_k4geo" nModules="928" mergedCells_Theta="1 1 1 1 1 1 1 1 1 1" mergedModules="1 1 1 1 1 1 1 1 1 1" grid_size_theta="0.009817477/4" offset_theta="0.08"/>
<id>system:4,cryo:1,type:3,subtype:3,side:3,wheel:3,layer:8,module:11,theta:10</id>
</readout>
-->
<segmentation type="FCCSWEndcapTurbine_k4geo" offset_rho="42 78.3215 146.82" offset_z="303.5" offset_phi="0.0" offset_theta="0.11242" grid_size_rho="2.016 2.014 2.004" grid_size_z="1.80" />
<id>system:4,cryo:1,type:3,subtype:3,side:-2,wheel:3,layer:8,module:17,rho:8,z:8</id>
<segmentation type="FCCSWEndcapTurbine_k4geo" offset_rho1="ECalEndcapRmin1+ECalEndcapSupportTubeThickness+ECalEndcapGridSizeRho1/2." offset_rho2="ECalEndcapRmin2+ECalEndcapSupportTubeThickness+ECalEndcapGridSizeRho2/2." offset_rho3="ECalEndcapRmin3+ECalEndcapSupportTubeThickness+ECalEndcapGridSizeRho3/2." offset_z1="EMEC_z1+ECalEndcapGridSizeZ1/2." offset_z2="EMEC_z1+ECalEndcapGridSizeZ2/2." offset_z3="EMEC_z1+ECalEndcapGridSizeZ3/2." offset_phi="0.0" offset_theta="0.1127" grid_size_rho1="ECalEndcapGridSizeRho1" grid_size_rho2="ECalEndcapGridSizeRho2" grid_size_rho3="ECalEndcapGridSizeRho3" grid_size_z1="ECalEndcapGridSizeZ1" grid_size_z2="ECalEndcapGridSizeZ2" grid_size_z3="ECalEndcapGridSizeZ3" />
<id>system:4,cryo:1,type:3,subtype:3,side:-2,wheel:3,layer:12,module:11,rho:8,z:8</id>

<!-- <id>system:4,cryo:1,type:3,subtype:3,side:-2,wheel:3,layer:9,module:14,rho:-10,z:-14</id> -->
</readout> -->
</readout>
<!--
<readout name="ECalEndcapPhiTheta">
<segmentation type="FCCSWGridModuleThetaMerged_k4geo" mergedCells_Theta="1 1 1 1 " mergedModules="1 1 1 1" grid_size_theta="0.005" offset_theta="-3.14"/>
Expand All @@ -97,25 +123,26 @@

<detectors>
<!-- electromagnetic calorimeter -->
<detector id="ECalEndcap_id" name="EMEC_turbine" type="ECalEndcap_Turbine_o1_v01" readout="ECalEndcapTurbine" vis="emec_envelope_vis" sensitive="true">
<detector id="ECalEndcap_id" name="EMEC_turbine" type="ECalEndcap_Turbine_o1_v03" readout="ECalEndcapTurbine" vis="emec_envelope_vis" sensitive="true">
<type_flags type=" DetType_CALORIMETER + DetType_ELECTROMAGNETIC + DetType_ENDCAP"/>
<sensitive type="SimpleCalorimeterSD"/>
<!-- <dimensions rmin1="EMEC_rmin1" rmin2="EMEC_rmin2" rmax="EMEC_rmax" dz="(EMEC_z2-EMEC_z1)/2." z_offset="EMEC_z1+(EMEC_z2-EMEC_z1)/2."/> -->
<dimensions rmin1="CryoEndcap_front_rmin" rmin2="CryoEndcap_front_rmin" rmax1="CryoEndcap_rmax" rmax2="CryoEndcap_rmax" dz="(CryoEndcap_z2-CryoEndcap_z1)/2." z_offset="EMEC_z1+(EMEC_z2-EMEC_z1)/2."/>
<dimensions rmin1="CryoEndcap_front_rmin" rmin2="CryoEndcap_front_rmin" rmax1="CryoEndcap_rmax" rmax2="CryoEndcap_rmax" dz="(CryoEndcap_z2-CryoEndcap_z1)/2." z_offset="CryoEndcap_z1+(CryoEndcap_z2-CryoEndcap_z1)/2."/>
<calorimeter name="EM_endcap">
<dimensions rmin="EMEC_rmin1" rmax="EMEC_rmax" dz="(EMEC_z2-EMEC_z1)/2." z_offset="EMEC_z1+(EMEC_z2-EMEC_z1)/2."/>
<cryostat name="ECAL_EndCapCryo">
<material name="Aluminum" />
<dimensions rmin1="CryoEndcap_front_rmin" rmin2="CryoEndcap_front_rmin+CryoEMECThicknessInner" rmax1="CryoEndcap_rmax-CryoEMECThicknessOuter" rmax2="CryoEndcap_rmax" dz="(CryoEndcap_z2-CryoEndcap_z1-CryoEMECThicknessFront-CryoEMECThicknessBack)/2."/>
<front sensitive="false"/> <!-- inner wall of the cryostat -->
<side sensitive="false"/> <!-- both sides of the cryostat -->
<back sensitive="false"/> <!-- outer wall of the cryostat -->
<front sensitive="false"/> <!-- low-|z| wall of the cryostat -->
<back sensitive="false"/> <!-- high-|z| wall of the cryostat -->
<inner sensitive="false"/> <!-- inner radius wall of the cryostat -->
<outer sensitive="false"/> <!-- outer radius wall of the cryostat -->
</cryostat>
<supportTube name="supportTube" nWheels="nWheels" thickness="1.0*cm" sensitive="false">
<supportTube name="supportTube" nWheels="nWheels" thickness="ECalEndcapSupportTubeThickness" sensitive="false">
<material name="CarbonFiber" />
</supportTube>
<turbineBlade name="turbineBlade" angle="BladeAngle" decreaseAnglePerWheel="false" sameNUnitCells="false" nUnitCells="144 272 512" nUnitCellsLeastCommonMultiple="nUnitCellsLeastCommonMultiple">
<absorberBlade name="absorberBlade" thickness="AbsorberBladeThickness" scaleThickness="true" thicknessScaleFactor="1.0" sensitive="false">
<turbineBlade name="turbineBlade" angle1="BladeAngle1" angle2="BladeAngle2" angle3="BladeAngle3" decreaseAnglePerWheel="false" nUnitCells1="nUnitCells1" nUnitCells2="nUnitCells2" nUnitCells3="nUnitCells3">
<absorberBlade name="absorberBlade" thickness1="AbsorberBladeThickness1" thickness2="AbsorberBladeThickness2" thickness3="AbsorberBladeThickness3" thicknessScaleFactor1="AbsorberBladeThicknessScaleFactor1" thicknessScaleFactor2="AbsorberBladeThicknessScaleFactor2" thicknessScaleFactor3="AbsorberBladeThicknessScaleFactor3" sensitive="false">
<material name="Lead" />
</absorberBlade>
<glue thickness="EMEC_glue_thickness" sensitive="false">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@
<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>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,19 +44,20 @@
<readouts>
<!-- Default readout of DetailedWedge geometry -->
<readout name="HCalEndcapReadout">
<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>
<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>
</readout>
<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 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>
</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_v02" readout="HCalEndcapReadout" >
<!-- vis="endcapHcal_envelope"> -->
Expand All @@ -69,25 +70,25 @@
<layer id="0" name="type_1" material="Air" vis="endcaphcal_barrel_layer_vis">
<dimensions
dr="100*mm"
nmodules="5"
nsegments="4"
nmodules="4"
nModules="4"
nPads="4"
/>
</layer>
<layer id="1" name="type_2" material="Air" vis="endcaphcal_barrel_layer_vis">
<dimensions
dr="150*mm"
nmodules="1"
nsegments="3"
nPads="10"
nmodules="2"
nModules="3"
nPads="10"
/>
</layer>
<layer id="2" name="type_3" material="Air" vis="endcaphcal_barrel_layer_vis">
<dimensions
dr="250*mm"
nmodules="0"
nsegments="2"
nPads="8"
nModules="2"
nPads="8"
/>
</layer>
</layers>
Expand Down
2 changes: 1 addition & 1 deletion FCCee/ALLEGRO/compact/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ Added "turbine-style" endcap ecal, and invoke this in the top-level xml (replaci
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.

ALLEGRO_o1_v04: same as v03, but material in inner part of absorber in first layer of ECAL is configurable and set by default to G10
ALLEGRO_o1_v04: same as v03, but material in inner part of absorber in first layer of ECAL is configurable and set by default to G10
1 change: 0 additions & 1 deletion FCCee/CLD/compact/CLD_o2_v07/LumiCal_o3_v02_05.xml
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,6 @@
outer_r = "LumiCal_Shield_outer_radius"
inner_z = "LumiCal_max_z - LumiCal_shield_dz_prime + LumiCal_shield_dz"/>


<layer repeat="1" vis="SeeThrough">
<slice material = "TungstenDens24" thickness = "3.5*mm" sensitive = "no" vis="SupportVis"/>
</layer>
Expand Down
8 changes: 8 additions & 0 deletions detector/calorimeter/ECalEndcap_Turbine_o1_v01_geo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,17 +85,20 @@ namespace det {
float BladeAngle = genericBladeElem.attr<float>(_Unicode(angle));
bool decreaseAnglePerWheel = genericBladeElem.attr<bool>(_Unicode(decreaseAnglePerWheel));
dd4hep::printout(dd4hep::DEBUG, "ECalEndcap_Turbine_o1_v01", "Making wheel with inner, outer radii %f, %f", ri, ro);

dd4hep::printout(dd4hep::DEBUG, "ECalEndcap_Turbine_o1_v01", "Blade angle is %f; decrease angle per wheel? ", BladeAngle, decreaseAnglePerWheel);
dd4hep::xml::Dimension dim(aXmlElement.child(_Unicode(dimensions)));
double grmin = dim.rmin1();
dd4hep::printout( dd4hep::DEBUG, "ECalEndcap_Turbine_o1_v01", "delZ is %f", delZ);

if (decreaseAnglePerWheel) {
float tubeFracCovered = delZ/(2*grmin*TMath::Tan(BladeAngle));
BladeAngle = TMath::ATan(delZ/(2*ri*tubeFracCovered));
}

if (TMath::Abs(TMath::Tan(BladeAngle)) < delZ/(2.*ri)) {
dd4hep::printout(dd4hep::ERROR, "ECalEndcap_Turbine_o1_v01", "The requested blade angle is too small for the given delZ and ri values. Please adjust to at least %f degrees!", TMath::ATan(delZ/(2.*ri))*180./TMath::Pi() );

return;
}

Expand Down Expand Up @@ -210,6 +213,7 @@ namespace det {
AbsThicko = AbsThicki;
}
dd4hep::printout(dd4hep::DEBUG, "ECalEndcap_Turbine_o1_v01", "Inner and outer absorber thicknesses %f, %f ", AbsThicki, AbsThicko);

dd4hep::Solid claddingLayer = buildOneBlade(AbsThicki+GlueThick+CladdingThick, AbsThicko+GlueThick+CladdingThick, xRange, roLayer, riLayer, BladeAngle, delZ );

dd4hep::Solid glueLayer = buildOneBlade(AbsThicki+GlueThick, AbsThicko+GlueThick, xRange, roLayer, riLayer, BladeAngle, delZ );
Expand Down Expand Up @@ -511,6 +515,7 @@ namespace det {
dd4hep::Tube bathAndServicesOuterShape(cryoDim.rmin2(), cryoDim.rmax1(), caloDim.dz()); // make it 4 volumes + 5th for detector envelope

dd4hep::printout( dd4hep::INFO, "ECalEndcap_Turbine_o1_v01", "Cryostat front thickness is %f", cryoDim.rmin2() );

if (cryoThicknessFront > 0) {
// 1. Create cryostat
dd4hep::Tube cryoFrontShape(cryoDim.rmin1(), cryoDim.rmin2(), cryoDim.dz());
Expand Down Expand Up @@ -559,6 +564,7 @@ namespace det {
std::string nobleLiquidMaterial = nobleLiquid.materialStr();
dd4hep::Volume bathVol(nobleLiquidMaterial + "_bath", bathOuterShape, aLcdd.material(nobleLiquidMaterial));
dd4hep::printout( dd4hep::INFO, "ECalEndcap_Turbine_o1_v01", "ECAL endcap bath: material = %s rmin (cm) = %f rmax (cm) = %f, dz (cm) = %f, thickness in front of ECal (cm) = %f, thickness behind ECal (cm) = %f", nobleLiquidMaterial.c_str(), bathRmin, bathRmax, caloDim.dz(), caloDim.rmin() - cryoDim.rmin2(), cryoDim.rmax1() - caloDim.rmax());

dd4hep::DetElement bathDetElem(caloDetElem, "bath", 1);

// 3. Create detector structure
Expand All @@ -568,6 +574,7 @@ namespace det {
dd4hep::xml::DetElement supportTubeElem = calo.child(_Unicode(supportTube));
unsigned nWheels = supportTubeElem.attr<unsigned>(_Unicode(nWheels));
dd4hep::printout(dd4hep::INFO, "ECalEndcap_Turbine_o1_v01", "Will build %d wheels", nWheels);

double rmin = bathRmin;
double rmax = bathRmax;
float radiusRatio = pow(rmax/rmin, 1./nWheels);
Expand Down Expand Up @@ -633,6 +640,7 @@ createECalEndcapTurbine(dd4hep::Detector& aLcdd, dd4hep::xml::Handle_t aXmlEleme
// dd4hep::DetElement caloNegativeDetElem(caloDetElem, "negative", 0);

dd4hep::printout(dd4hep::DEBUG, "ECalEndcap_Turbine_o1_v01", "Placing detector on the positive side: (cm) %f with min, max radii %f %f",dim.z_offset(), dim.rmin1(), dim.rmax1() );

unsigned iModule = 0;
buildOneSide_Turbine(aLcdd, aSensDet, envelopeVol, aXmlElement, iModule);

Expand Down
Loading