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

dual readout Detectors added to FCCDetectors #34

Open
wants to merge 74 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
160aa77
dd4hep init
SanghyunKo Jun 25, 2020
a0a891c
implement fibres
SanghyunKo Jul 6, 2020
e903bd7
add sipms to dd4hep
SanghyunKo Jul 13, 2020
6e5b6bf
start initializing dd SD
SanghyunKo Jul 14, 2020
f0e5ddb
redirect ddDRcalo
SanghyunKo Jul 14, 2020
ee7ce6e
change interface to include
SanghyunKo Jul 14, 2020
e67d16a
add ddDRcaloSD
SanghyunKo Jul 15, 2020
f0e6089
add DRsegmentation
SanghyunKo Jul 16, 2020
badf0da
finalize DRsegmentation
SanghyunKo Jul 22, 2020
914db08
initialize GeoSvc
SanghyunKo Jul 24, 2020
0fb9490
finalizing DDG4 interface
SanghyunKo Jul 30, 2020
2b31e11
minor fixes
SanghyunKo Jul 30, 2020
7c0c9d7
add FastSimOpFiber
SanghyunKo Aug 4, 2020
995a598
sync sipm geo with standalone G4 version
SanghyunKo Aug 11, 2020
4e55146
Memory optimization (cell position not determined yet)
SanghyunKo Aug 14, 2020
d4456bd
param & segmentation grooming
SanghyunKo Aug 18, 2020
a0c2c91
moving param to DRsegmentation
SanghyunKo Aug 18, 2020
38f1663
remove sipm position, call from dd4hep instead
SanghyunKo Aug 18, 2020
47c96dc
migrate to tubs (still crazy slow)
SanghyunKo Aug 21, 2020
6281cdb
optimize CPU consumption
SanghyunKo Aug 23, 2020
f2b1101
makeshift for OpBorderSurface
SanghyunKo Aug 24, 2020
f1e55b4
implement endcap
SanghyunKo Aug 30, 2020
397b304
move filled() call
SanghyunKo Aug 30, 2020
a4e6c61
migrate endcap to IDEA geometry
SanghyunKo Sep 1, 2020
3ebe79f
align cellid 'system' field with other detectors
vvolkl Sep 6, 2020
7a3722e
Merge pull request #3 from vvolkl/system-cellid
SanghyunKo Sep 7, 2020
ab1e903
take care corner cases of small # of rotations in phi
SanghyunKo Sep 10, 2020
5e1fc2f
estimate numx & numy on-the-fly instead of saving them in CellID (ove…
SanghyunKo Sep 10, 2020
3804f5a
Merge pull request #4 from vvolkl/gitignore
SanghyunKo Sep 14, 2020
1d14213
Merge pull request #5 from vvolkl/cmake-cleanup
SanghyunKo Sep 14, 2020
a74d999
fix readouts
SanghyunKo Sep 14, 2020
5894d92
Geometry with a small number of rotations in phi direction (#9)
SanghyunKo Oct 8, 2020
c744d7c
Merge branch 'master' of https://github.com/HEP-FCC/dual-readout
SanghyunKo Nov 24, 2020
06191a1
[WIP] edm4hep + alpha for DR calorimeter (1)
SanghyunKo Jan 6, 2021
b39eaff
[WIP] edm4hep + alpha for DR calorimeter (2)
SanghyunKo Jan 27, 2021
f8a7773
[WIP] edm4hep + alpha for DR calorimeter (2)
SanghyunKo Apr 2, 2021
e1079c2
handle fiber allocation corner cases
SanghyunKo Apr 2, 2021
f889e58
CMake clean-up
SanghyunKo Apr 21, 2021
2c48b2d
Migrate SIM step to EDM4hep (#11)
SanghyunKo Apr 26, 2021
a745068
remove deprecated REGISTER_SEGMENTATION
SanghyunKo May 10, 2021
ceff700
[WIP] migrate reconstruction to K4FWCore
SanghyunKo May 12, 2021
92cf7c1
[WIP] migrate reconstruction to k4FWCore (3) - build fix
SanghyunKo May 13, 2021
82df5f8
fix conflicting library name DetComponents
SanghyunKo May 14, 2021
aed713e
fix conflicting library name DetComponents
SanghyunKo May 14, 2021
6263d51
fix merge conflict?
SanghyunKo May 18, 2021
cdbb54e
Migrate reconstruction to k4FWCore (#13)
SanghyunKo May 18, 2021
ca359b7
Merge branch 'master' of https://github.com/HEP-FCC/dual-readout
SanghyunKo May 18, 2021
8c91a0f
clean-up legacy codes
SanghyunKo May 18, 2021
0755e59
remove dependency on deprecated DRsimInterface
SanghyunKo May 18, 2021
477342b
minimize podio user class
SanghyunKo Jun 16, 2021
5e99c12
rename ddDRsegmentation to DRsegmentation, remove 3D calib part
SanghyunKo Jun 19, 2021
23a0770
move compact and calib to share, reset calib constants
SanghyunKo Jun 19, 2021
9ca4afe
cmake cleanup & rename gateEnd to gateL
SanghyunKo Jun 19, 2021
43e341c
move default to S14160-1310PS, add backups for S13615-1025
SanghyunKo Jun 22, 2021
b70f58e
effective velocity scaling for 3d reconstruction
SanghyunKo Aug 31, 2021
f948a22
add air hole
SanghyunKo Jul 8, 2021
508da6e
fix position of air hole
SanghyunKo Jul 8, 2021
5b9942f
add mirror & black paint
SanghyunKo Dec 9, 2021
1fe024d
restructure mirror & black paint
SanghyunKo Dec 27, 2021
9a57030
attempt to reduce memory consumption
SanghyunKo Dec 31, 2021
55e11a3
apply yellow filter at stepping action
SanghyunKo Jan 2, 2022
b3f7e91
attempt to reduce memory consumption (2)
SanghyunKo Jan 3, 2022
eb167d4
use reflected volumes
SanghyunKo Jan 3, 2022
154d205
Use enhanced time constants for Scintillation in Geant4
vvolkl Nov 25, 2022
b8dc5c4
Update Detector/DRcalo/compact/DRcalo_IDEA.xml
vvolkl Nov 25, 2022
30754b3
Update Detector/DRcalo/compact/DRcalo_IDEA.xml
vvolkl Nov 25, 2022
19a9625
remove Detector/CMakeLists.txt
atolosadelgado Dec 5, 2022
0ba73f7
Merge branch 'DR-detectors' into DR-branch
atolosadelgado Dec 6, 2022
e618072
main CMakeLists foreach loop expanded to include DRcalo DRcomponents…
atolosadelgado Dec 6, 2022
ca09546
dual readout subdirectories added to Detector/CMakeLists.txt
atolosadelgado Dec 7, 2022
10ab1af
dd4hep_configure_scripts call at the end of DRcalo CMake file was re…
atolosadelgado Dec 12, 2022
8cfc608
Merge branch 'main' into DR-branch
atolosadelgado Dec 12, 2022
071af33
Compact files of DRcalo placed in install/share/FCCDetectors/Detector…
atolosadelgado Dec 13, 2022
b7939f9
Material scan test added to Dual Readout calorimeter
atolosadelgado Dec 15, 2022
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
57 changes: 57 additions & 0 deletions .github/scripts/materialScanAxis.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#!/bin/bash

# This test scan the material along the X (or Z) axis using materialScan from DD4hep
# then extract the second-to-last line, which contains a summary of the scan,
# then checks if X0 is larger or smaller than X0 for air

compactFile=$1
axis=$2
IsMaterialExpectedToBeAir=$( awk '{print tolower($0)}' <<< $3)


#Check if file exists...
[ ! -f "$compactFile" ] && { echo "Compact file $compactFile not found."; exit 2; }


#Check if materialScan command from DD4hep if found
if ! command -v materialScan &> /dev/null
then
echo "materialScan could not be found"
exit 3
fi



#Get the total X0 integrated along the axis. X0 is provided as 12th parameter of the second-to-last line of
x0=""
if [ "x" = $axis ] || [ "X" = $axis ] ; then
x0=$(materialScan $compactFile 0 0 0 1000 0 0 | awk -F' ' '{prevlast = last; last = $0} END {if (NR >= 2) print prevlast}' | awk -F' ' '{ print $12 }')

elif [ "z" = $axis ] || [ "Z" = $axis ] ; then
x0=$(materialScan $compactFile 0 0 0 0 0 1000 | awk -F' ' '{prevlast = last; last = $0} END {if (NR >= 2) print prevlast}' | head -n 1 | awk -F' ' '{ print $12 }')

else
echo "Axis " $axis " not supported"
exit 22
fi

x0=$(expr "$x0" )
echo "x0 is " $x0 "cm"


xair=0.032756
if [ "air" = $IsMaterialExpectedToBeAir ] ; then
if (( $(echo "$x0 > $xair" |bc -l) )); then
echo "X0 larger than or equal to air X0 (0.032756 cm)"
exit 22
else
exit 0
fi
else
if (( $(echo "$x0 <= $xair" |bc -l) )); then
echo "X0 smaller than or equal to air X0 (0.032756 cm)"
exit 22
else
exit 0
fi
fi
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ find_package(DD4hep)
get_target_property(ddcore_lib DD4hep::DDCore LOCATION)
get_filename_component(ddcore_loc ${ddcore_lib} DIRECTORY)
function(k4_set_test_env _testname)
foreach(_subdir DetCommon DetFCCeeCLD DetFCCeeCommon DetFCCeeECalInclined DetFCCeeHCalTile DetFCCeeIDEA DetFCCeeIDEA-LAr DetFCChhBaseline1 DetFCChhCalDiscs DetFCChhECalInclined DetFCChhECalSimple DetFCChhHCalTile DetFCChhTailCatcher DetFCChhTrackerTkLayout DetSegmentation DetSensitive DetTrackerSimple)
foreach(_subdir DetCommon DetFCCeeCLD DetFCCeeCommon DetFCCeeECalInclined DetFCCeeHCalTile DetFCCeeIDEA DetFCCeeIDEA-LAr DetFCChhBaseline1 DetFCChhCalDiscs DetFCChhECalInclined DetFCChhECalSimple DetFCChhHCalTile DetFCChhTailCatcher DetFCChhTrackerTkLayout DetSegmentation DetSensitive DetTrackerSimple DRcalo DRcomponents DRsegmentation DRsensitive )
set( _subdirs "${CMAKE_BINARY_DIR}/Detector/${_subdir}:${_subdirs}")
endforeach()
set_property(TEST ${_testname} APPEND PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}:${CMAKE_CURRENT_BINARY_DIR}:${ddcore_loc}:${_subdirs}:$ENV{LD_LIBRARY_PATH}")
Expand Down
8 changes: 8 additions & 0 deletions Detector/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,12 @@ add_subdirectory(DetFCCeeCLD)
add_subdirectory(DetFCCeeCommon)
add_subdirectory(DetFCCeeHCalTile)
add_subdirectory(DetFCCeeIDEA)


add_subdirectory(DRsegmentation)
add_subdirectory(DRcomponents)
add_subdirectory(DRcalo)
add_subdirectory(DRsensitive)

add_subdirectory(DetFCCeeCalDiscs)

46 changes: 46 additions & 0 deletions Detector/DRcalo/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
################################################################################
# Package: Dual Readout Calorimeter
################################################################################

file(GLOB headers ${CMAKE_CURRENT_SOURCE_DIR}/include/*.h
)

dd4hep_add_plugin(ddDRcalo SOURCES src/*.cpp USES
DD4hep::DDCore
DD4hep::DDCond
ROOT::Core
ROOT::Geom
ROOT::GenVector
ROOT::MathCore
DRsegmentation
)

target_include_directories(ddDRcalo PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)

set_target_properties(ddDRcalo PROPERTIES PUBLIC_HEADER "${headers}")

install(TARGETS ddDRcalo
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT shlib
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" COMPONENT dev
)

install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/compact DESTINATION ${CMAKE_INSTALL_DATADIR}/${CMAKE_PROJECT_NAME}/Detector/DRcalo)

# This test scan the material along the X (or Z) axis,
# then extract the second-to-last line, which contains a summary of the scan,
# then fail if the argument 12, which correspond to the integrated X0 is less than the X0 of air

add_test(NAME ScanMaterialDRcaloX
COMMAND bash ".github/scripts/materialScanAxis.sh" "Detector/DRcalo/compact/DRcalo.xml" "x" "noair"
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
)
add_test(NAME ScanMaterialDRcaloZ
COMMAND bash ".github/scripts/materialScanAxis.sh" "Detector/DRcalo/compact/DRcalo.xml" "z" "air"
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
)

k4_set_test_env(ScanMaterialDRcaloX)
k4_set_test_env(ScanMaterialDRcaloZ)
Loading