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

Add dual-readout tubes barrel calorimeter in IDEA_o2 #413

Open
wants to merge 24 commits into
base: main
Choose a base branch
from

Conversation

lopezzot
Copy link
Member

@lopezzot lopezzot commented Dec 9, 2024

BEGINRELEASENOTES

  • A new subdetector (DRBarrelTubes_o1_v01) is included. It is the dual-readout barrel calorimeter built exploiting the Hidra-like capillary-tubes-based technology. Together with the endcap just merged, it completes the hadronic calorimeter of the IDEA_o2 concept.
  • The IDEA_o2 muon system dimensions are adjusted to avoid overlaps with the barrel dual-readout calorimeter: (BarrelFirstLayerRadius=4630mm, BarrelLength=9260mm, EndcapFirstLayerZOffset=4630mm, EndcapLayersOuterRadius=5450mm)
  • The custom DRTubes sensitive detector action was extended to be used in both the endcap (DREndcapTubes) and the barrel (DRBarrelTubes) subdetectors.
    ENDRELEASENOTES

Hello,

this PR includes a new subdetector, the IDEA dual-readout capillary-tube barrel calorimeter. Together with the endcap calorimeter, it completes the hadronic calorimeter of IDEA_o2. The muon system dimensions have been adjusted to avoid overlaps with this subdetector. The only missing part for IDEA_o2 full-sim is now the crystal em calorimeter (#406 ). DRTubesSDAction is also expanded to produce hits from the barrel calorimeter.

Testing:

  • The memory footprint on lxplus9 for the entire IDEA_o2 is close to 3.8 Gb.
  • 10 GeV electron events showering either in the barrel or the endcap calorimeters are processed at an event rate smaller than 1 s/evt.
  • No overlaps are found when scanned with a tolerance of 50 um. However scanning over millions or tubes takes forever, so the overlap check was performed over calo towers only (without tubes), and each tower (with tubes) was tested separately for overlaps.

Authors:
Geometry by Andreas Loeschcke Centeno, custom sensitive detector action, integration in IDEA_o2 and testing by @lopezzot

idea_o2_hcal

FYI @mahmoudali2

lopezzot and others added 24 commits December 9, 2024 09:37
Co-authored-by: Andreas Loeschcke Centeno <[email protected]>
Add dual-readout capillary-tubes barrel calorimeter inside the IDEA_o2
xml file. Change IDEA_o2 muon system dimensions to avoid overlaps with
the barrel calorimeter (new params checked with Mahmoud Ali).
Move the detector dimensions parameters inside
DectDimensions_IDEA_o2_v01.xml.
Move the vis attributes for DRBarrelTubes subdetector to
DectDimensions_IDEA_o2_v01.xml.
Increase DRTubesGranularity to 72 rotations aroung the beam pipe (as the
endcap).
Make explicit printout from DRTubesconstructor.
Rename DDDRCaloTubes subdetector for consistency with k4geo standards.
Displace the barrel inner radius by 0.5 cm to avoid overlaps between the
calo barrel staves and the solenoid.
Materials names defined in DDDRCaloTubes_o1_v01.xml where already
defined in the endcap xml file, therefore the barrel geometry was using
the endcap materials. This is a problem in case one wants to
activate/inactivate optical properties for such materials in the endcap
or barrel separately. Fixed by changing names of DDDRCaloTubes
materials. Also, set particle direction to (0,1,0) in the IDEA_o2_vo1.py
file to shoot into the barrel instead of the endcap.
Set the subdetector ID in DectDimensions_IDEA_o2_v01.xml file and
assign.
Add description of the barrel dual-readout-tubes caloriemter in
detectors/calorimeter README.md file.
By adding inclusion of the dual-readout-tubes barrel calorimeter in
Decemeber 2024.
First attempt to produce signals from the barrel dual-readout-tubes
calorimeter.
The theta coordinate was taken from the track momentum direction,
instead is should be taken from the G4Step position to discriminate if a
G4Step is inside the barrel or the endcap geometry.
Change the name of hit collections to avoid duplication of hits while
using ROName in the hit collection name. The barrel was creating also
hit collection for cher_right/left and scin_right/left which are only
for the endcap.
Reinclude optical properties for fiber materials. Create PMMA_Scin
material to differentiate between material used in Scin and Cher fibers
in order to not have optical photons in Scin fibers but only in Cher
fibers.
Remove printout and apply clang-format. I checked that this version of
the custom SD action is consistent with the speedup obtained originally
with the endcap geometry only (about 1 s/evt for 10 GeV e- events).
Fix printout to check that volIDs of the DRBarrelTubes are correctly
reproduced.
Commet out volID printout check for barrel calo in DRTubesSDAction. This
was used to check that the 64-bits volIDs recreated from the barrel
copynumbers are identical to the DD4hep ones. However marking barrel
fibers as sensitive makes the memory footprint explode (34 Gb before it
is killed on lxplus). So the test was done on a single stave.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants