Draft: Calo geometries for Upgrade
This MR stems from this as we were too behind the developments of the master branch.
Add Run4 and Run5 ECAL geometries!
TODO:
-
modify DeCalorimeter.cpp
andDeCalorimeter.h
to properly match hits with cells -> WIP in branchnuvallsc_CALO_upgrade
-
find a "better" way to load modules' positions and rotations (so far done through .txt
files) -
run checks with Hybrid-MC framework used so far to simulate new ECAL geometries
Validated by
-
Core Software -
RTA -
Simulation
Merge request reports
Activity
added Calo Simulation Upgrade2 labels
mentioned in merge request !460 (closed)
added 127 commits
-
03aa5b4b...a7fd46a4 - 126 commits from branch
master
- 3950fee5 - merge master
-
03aa5b4b...a7fd46a4 - 126 commits from branch
added 3 commits
-
3950fee5...13105b02 - 2 commits from branch
master
- 87ce896a - Merge branch 'master' into CALO_upgrade
-
3950fee5...13105b02 - 2 commits from branch
mentioned in merge request !572 (merged)
requested review from @zexu
- Detector/PicoCal/src/ECAL_geo.cpp 0 → 100644
995 double BeamPlugPipeHoleR3 = dd4hep::_toDouble( "EcalBeamPlugPipeHoleR3" ); 996 double BeamPlugPipeHoleR4 = dd4hep::_toDouble( "EcalBeamPlugPipeHoleR4" ); 997 double BeamPlugPipeHoleR5 = dd4hep::_toDouble( "EcalBeamPlugPipeHoleR5" ); 998 double BeamPlugPipeHoleR6 = dd4hep::_toDouble( "EcalBeamPlugPipeHoleR6" ); 999 1000 double BeamPlugPipeHoleZ1 = dd4hep::_toDouble( "EcalBeamPlugPipeHoleZ1" ); 1001 double BeamPlugPipeHoleZ2 = dd4hep::_toDouble( "EcalBeamPlugPipeHoleZ2" ); 1002 double BeamPlugPipeHoleZ3 = dd4hep::_toDouble( "EcalBeamPlugPipeHoleZ3" ); 1003 double BeamPlugPipeHoleZ4 = dd4hep::_toDouble( "EcalBeamPlugPipeHoleZ4" ); 1004 double BeamPlugPipeHoleZ5 = dd4hep::_toDouble( "EcalBeamPlugPipeHoleZ5" ); 1005 double BeamPlugPipeHoleZ6 = dd4hep::_toDouble( "EcalBeamPlugPipeHoleZ6" ); 1006 1007 // int ReadoutSides = dd4hep::_toInt("ReadoutSides"); 1008 int ModuleTypes = dd4hep::_toInt("EcalModuleTypes"); 1009 // std::string moduleCoordinatesFile = "/afs/cern.ch/work/d/dzuliani/ECALGNN/Detector/compact/components/PicoCal/trunk/points_run5_rotated.txt"; 1010 std::string moduleCoordinatesFile = "./compact/components/PicoCal/trunk/points_run5_rotated.txt"; The reason why you're not getting hits in Gauss is that no volumes of type
lvModType_*
(+ their daughters) are actually placed in the geometry and are not visible in Gauss when converting from DD4hep to Geant4. The placement of this volumes depends on what is read from a text file as specified by the variablemoduleCoordinatesFile
. The problem is that this relative path is wrong, and no coordinates are read in the end.I'd suggest changing the path to something more reliable, e.g. with respect to the current file or with respect to the root directory of the Detector project. Once the path is correctly set, then Gauss correctly sees shashlik and spacal volumes. There is still some problem with duplicate volume entries though:
Geant4VolumeMan... ERROR populate: Severe error: Duplicated Volume entry: 0xD710D63C [THIS SHOULD NEVER HAPPEN] Geant4VolumeMan... ERROR Known G4 path: /lvDownstreamRegion_4/lvEcal_1/pvEcalLeft/lvModType_2182/lvContainer_4/lvAbs_0/pvCell_00/pvFiber_00/lvBackFiber_0 Geant4VolumeMan... ERROR TGeo path: /world_volume_1/lvDownstreamRegion_4/lvEcal_1/pvEcalLeft/lvModType_2182/lvContainer_4/lvAbs_0/pvCell_00/pvFiber_256/lvBackFiber_0 Geant4VolumeMan... ERROR Offend.VolIDs: system=60,60 [0,8] side=0,0 [8,1] region=11,11 [9,4] module=2182,2182 [13,12] col=43,43 [25,6] row=25,25 [31,6] cell=0,0 [37,6] fiber=256,0 [43,8]
If you wish to increase the verbosity of the
Geant4Converter
in Gauss, you can add the following lines to your uptions:from Gaudi.Configuration import DEBUG from Configurables import LHCbDD4hepCnvSvc LHCbDD4hepCnvSvc().DebugMaterials = True LHCbDD4hepCnvSvc().DebugElements = True LHCbDD4hepCnvSvc().DebugVolumes = True LHCbDD4hepCnvSvc().DebugPlacements = True LHCbDD4hepCnvSvc().DebugShapes = True LHCbDD4hepCnvSvc().DebugRegions = True LHCbDD4hepCnvSvc().OutputLevel = DEBUG
changed this line in version 6 of the diff
Hi @dzuliani, would you be able to rebase this merge request at your convenience? Thank you in advance.
removed review request for @emmuhamm
added 102 commits
-
b584792c...d3af9e6a - 101 commits from branch
master
- 20a25345 - merge master
-
b584792c...d3af9e6a - 101 commits from branch
added 7 commits
-
20a25345...14f9451b - 6 commits from branch
master
- 346cc508 - Merge branch 'master' into CALO_upgrade
-
20a25345...14f9451b - 6 commits from branch
added 23 commits
- 346cc508...e21a55e3 - 13 earlier commits
- b2bc7b66 - bug fix - removed variables should not have been removed...
- 9af32cfb - polishing
- 4597f427 - resolved rebase conflict for /compact/run5/branch-baseline/LHCb.xml
- 6f610d06 - resolved another rebase conflict for /compact/run5/branch-baseline/LHCb.xml
- 7e952da0 - added sensitive detector for plastic tiles in Shashlik modules
- 4cce5339 - removed previous mod, and set ECAL with no til angle for debugging
- b5ca117a - tests on materials, changed definition of Lead in SpacalPb
- d1bfc114 - ECAL tilt angle is back, calculation of beginning and end of cells is added to...
- 5998dc3c - sync ECAL_geo.cpp of ECAL4 to PicoCal one
- b9fa89e9 - merge
Toggle commit listadded 8 commits
- d32d5f2c - first implementation of trapezoidal readout
- f17e9993 - removed couts from DeCalorimeter.cpp
- 28cb760d - added few modules definitions for testing
- 098abcd6 - completed implementation of trapezoidal readouts for SpaCal modules
- 987c813a - implemented rods in SpaCal modules
- b032191f - final configurations for Run5 and Run4 baseline, 2025 version
- e4b4a3e4 - introduced reduction of beam plug to temporarily avoid overlaps, and some xml mods for testing
- a03ab2f6 - fixed file paths also for ECAL4
Toggle commit list