Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • maxt/CEPCSW
  • zyjonah/CEPCSW
  • wanjw03/CEPCSW
  • yudian2002/CEPCSW
  • starr136a/CEPCSW
  • fucd/CEPCSW
  • shuohan/CEPCSW
  • glliu/CEPCSW
  • zhangjinxian/CEPCSW_20250110
  • zhangyz/CEPCSW
  • zhangyang98/cepcsw-official
  • shuxian/CEPCSW
  • lihp29/CEPCSW
  • zhangkl/CEPCSW
  • laipz/CEPCSW
  • lizhihao/CEPCSW
  • yudian2002/cepcsw-otk-endcap-update-01
  • xuchj7/CEPCSW
  • wuchonghao9612/CEPCSW
  • chenye/CEPCSW
  • zhangxm/CEPCSW
  • mengwq/CEPCSW
  • yudian2002/cepcsw-geo-upgrade-v-2
  • fangwx/CEPCSW
  • yudian2002/cepcsw-geo-upgrade
  • jiangxj/CEPCSW
  • yudian2002/cepcsw-otk-end-cap-development
  • guolei/CEPCSW
  • chenbp/CEPCSW
  • dhb112358/CEPCSW
  • tangyb/CEPCSW
  • luhc/CEPCSW
  • songwz/cepcsw-tdr
  • yudian2002/cepcsw-ote-development
  • yudian2002/cepcsw-otb-development
  • dudejing/CEPCSW
  • shexin/CEPCSW
  • sunwy/CEPCSW
  • 1810337/CEPCSW
  • cepcsw/CEPCSW
  • tyzhang/CEPCSW
  • fucd/CEPCSW1
  • xiaolin.wang/CEPCSW
  • wangchu/CEPCSW
  • 201840277/CEPCSW
  • zhaog/CEPCSW
  • shihy/cepcsw-dose
  • myliu/CEPCSW
  • thinking/CEPCSW
  • lihn/CEPCSW
  • 221840222/CEPCSW
  • gongjd1119/CEPCSW
  • tanggy/CEPCSW
  • lintao/CEPCSW
  • guofangyi/cepcsw-release
  • shihy/CEPCSW
  • 1365447033/CEPCSW
  • lizhan/CEPCSW
  • shixin/CEPCSW
  • cepc/CEPCSW
60 results
Show changes
Commits on Source (29)
Showing
with 424 additions and 303 deletions
...@@ -37,19 +37,13 @@ stages: ...@@ -37,19 +37,13 @@ stages:
.envvar_template: .envvar_template:
variables: variables:
CEPCSW_LCG_RELEASE: LCG CEPCSW_LCG_RELEASE: LCG
CEPCSW_LCG_PLATFORM: x86_64-centos7-gcc11-opt CEPCSW_LCG_PLATFORM: x86_64-el9-gcc11-opt
CEPCSW_LCG_VERSION: 103.0.2 CEPCSW_LCG_VERSION: 105.0.0
.build_template:
extends: .envvar_template
stage: build
script:
- bash ./.build.ci.sh
- bash ./.test.ci.sh
# for k8s # for k8s
.build_template_k8s: .build_template_k8s:
extends: .envvar_template extends: .envvar_template
image: cepc/cepcsw-cvmfs:el9
stage: build stage: build
tags: tags:
- k8s # using k8s as runner - k8s # using k8s as runner
...@@ -59,37 +53,11 @@ stages: ...@@ -59,37 +53,11 @@ stages:
- bash ./.build.ci.sh - bash ./.build.ci.sh
- bash ./.test.ci.sh - bash ./.test.ci.sh
##############################################################################
# Build & Test in CentOS 7 (LCG)
##############################################################################
# build:lcg:el7:
# extends: .build_template
# tags:
# - centos7
# artifacts:
# paths:
# - InstallArea
# - TDR_o1_v01.tgeo.root
# - TDR_o1_v02.tgeo.root
# reports:
# junit: build.${CEPCSW_LCG_VERSION}.${CEPCSW_LCG_PLATFORM}/cepcsw-ctest-result.xml
############################################################################## ##############################################################################
# Build & Test in k8s (LCG) # Build & Test in k8s (LCG)
############################################################################## ##############################################################################
# build:lcg:el7:k8s:
# extends: .build_template_k8s
# image: cepc/cepcsw-cvmfs:el7
# rules:
# - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
# when: manual
build:lcg:el9:k8s: build:lcg:el9:k8s:
extends: .build_template_k8s extends: .build_template_k8s
image: cepc/cepcsw-cvmfs:el9
variables:
CEPCSW_LCG_PLATFORM: x86_64-el9-gcc11-opt
CEPCSW_LCG_VERSION: 105.0.0
rules: rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event' - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
when: manual when: manual
...@@ -97,15 +65,14 @@ build:lcg:el9:k8s: ...@@ -97,15 +65,14 @@ build:lcg:el9:k8s:
reports: reports:
junit: build.${CEPCSW_LCG_VERSION}.${CEPCSW_LCG_PLATFORM}/cepcsw-ctest-result.xml junit: build.${CEPCSW_LCG_VERSION}.${CEPCSW_LCG_PLATFORM}/cepcsw-ctest-result.xml
############################################################################## ##############################################################################
# Build the docs # Build the docs
############################################################################## ##############################################################################
build:docs:k8s: build:docs:k8s:
extends: .build_template_k8s extends: .build_template_k8s
image: cepc/cepcsw-cvmfs:el9 image: sphinxdoc/sphinx
script: script:
- bash ./.build.ci.sh docs - bash build-docs.sh
artifacts: artifacts:
paths: paths:
- docs/build/html/ - docs/build/html/
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
</regions> </regions>
<detectors> <detectors>
<detector id="DetID_ECAL" name="CaloDetector" type="LongCrystalBarBarrelCalorimeter32Polygon_v02" readout="EcalBarrelCollection" vis="Invisible" sensitive="true" region="EcalBarrelRegion"> <detector id="DetID_ECAL" name="EcalBarrel" type="LongCrystalBarBarrelCalorimeter32Polygon_v02" readout="EcalBarrelCollection" vis="Invisible" sensitive="true" region="EcalBarrelRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction --> <!-- Use cm as unit if you want to use Pandora for reconstruction -->
</detector> </detector>
</detectors> </detectors>
......
...@@ -40,18 +40,18 @@ ...@@ -40,18 +40,18 @@
<module name="OTKBarrel_module" thickness="OTKBarrel_module_thickness" repeat="4" <module name="OTKBarrel_module" thickness="OTKBarrel_module_thickness" repeat="4"
width="OTKBarrel_module_width" length_inner="OTKBarrel_module_length_inner" width="OTKBarrel_module_width" length_inner="OTKBarrel_module_length_inner"
length_outer="OTKBarrel_module_length_outer" vis="SeeThrough"> length_outer="OTKBarrel_module_length_outer" vis="SeeThrough">
<layer name="carbon_fiber_plane_inner" width="100.40*mm" thickness="0.3*mm" material="CF_ITK" vis="BlackVis"/> <layer name="carbon_fiber_plane_inner" width="100.40*mm" thickness="0.3*mm" material="CF_ITK" vis="GrayVis"/>
<layer name="carbon_fiber_honeycomb" width="100.40*mm" thickness="6000*um" material="GraphiteFoam_OTK" vis="BlackVis"/> <layer name="carbon_fiber_honeycomb" width="100.40*mm" thickness="6000*um" material="GraphiteFoam_OTK" vis="GrayVis"/>
<layer name="cooling_fluid" width="100.40*mm" thickness="35.76*0.105*100*um" material="G4_WATER" vis="BlackVis"/> <layer name="cooling_fluid" width="100.40*mm" thickness="35.76*0.105*100*um" material="G4_WATER" vis="GrayVis"/>
<layer name="cooling_tube_wall" width="100.40*mm" thickness="3.560*0.169*100*um" material="G4_Ti" vis="BlackVis"/> <layer name="cooling_tube_wall" width="100.40*mm" thickness="3.560*0.169*100*um" material="G4_Ti" vis="GrayVis"/>
<layer name="carbon_fiber_plane_outer" width="100.40*mm" thickness="0.3*mm" material="CF_ITK" vis="BlackVis"/> <layer name="carbon_fiber_plane_outer" width="100.40*mm" thickness="0.3*mm" material="CF_ITK" vis="GrayVis"/>
<layer name="glue" width="100.40*mm" thickness="300*um" material="CER_ITK" vis="BlackVis"/> <layer name="glue" width="100.40*mm" thickness="300*um" material="CER_ITK" vis="GrayVis"/>
<layer name="sensor" sensitive="True" width="OTKBarrel_module_width" thickness="0.3*mm" material="G4_Si" vis="FTDSensitiveVis"/> <layer name="sensor" sensitive="True" width="OTKBarrel_module_width" thickness="0.3*mm" material="G4_Si" vis="FTDSensitiveVis"/>
<layer name="glue_2" width="100.40*mm" thickness="100*um" material="CER_ITK" vis="BlackVis"/> <layer name="glue_2" width="100.40*mm" thickness="100*um" material="CER_ITK" vis="LightGrayVis"/>
<layer name="pcb_insulating_layers" width="100.40*mm" thickness="28.41*0.07*100*um" material="Polyimide_ITK" vis="BlackVis"/> <layer name="pcb_insulating_layers" width="100.40*mm" thickness="28.41*0.07*100*um" material="Polyimide_ITK" vis="OrangeVis"/>
<layer name="pcb_metal_layers" width="100.40*mm" thickness="1.436*0.2*100*um" material="G4_Cu" vis="BlackVis"/> <layer name="pcb_metal_layers" width="100.40*mm" thickness="1.436*0.2*100*um" material="G4_Cu" vis="OrangeVis"/>
<layer name="other_electronic" width="100.40*mm" thickness="32.6437*0.1*100*um" material="Kapton" vis="BlackVis"/> <layer name="other_electronic" width="100.40*mm" thickness="32.6437*0.1*100*um" material="Kapton" vis="OrangeVis"/>
<data_aggregation name="first_data_aggregation" width="104*mm" thickness="2*mm" length="7.0*mm" vis="SeeThrough"> <data_aggregation name="first_data_aggregation" width="104*mm" thickness="2*mm" length="7.0*mm" vis="OrangeVis">
<layer name="PCB" thickness="1*mm" width="OTKBarrel_module_width" length="7.0*mm" vis="GreenVis"/> <layer name="PCB" thickness="1*mm" width="OTKBarrel_module_width" length="7.0*mm" vis="GreenVis"/>
<DC name="DC-DC" thickness="1*mm" width="10.0*mm" length="3.0*mm" vis="YellowVis"/> <DC name="DC-DC" thickness="1*mm" width="10.0*mm" length="3.0*mm" vis="YellowVis"/>
</data_aggregation> </data_aggregation>
......
...@@ -29,11 +29,11 @@ ...@@ -29,11 +29,11 @@
</shape> </shape>
</envelope> </envelope>
<rings zmax="OTKEndcap_zmax"> <rings zmax="OTKEndcap_zmax">
<ring name="A1" inner_radius="406*mm" outer_radius="(534-0.2)*mm" repeat="16*5" aggregation="2" vis="SeeThrough"/> <ring name="A1" inner_radius=" 406*mm" outer_radius="( 534-0.2)*mm" repeat="16* 5" aggregation="2" vis="SeeThrough"/>
<ring name="A2" inner_radius="534*mm" outer_radius="(662-0.5)*mm" repeat="16*5" aggregation="2" vis="SeeThrough"/> <ring name="A2" inner_radius=" 534*mm" outer_radius="( 662-0.5)*mm" repeat="16* 5" aggregation="2" vis="SeeThrough"/>
<ring name="B1" inner_radius="662*mm" outer_radius="(790-0.2)*mm" repeat="16*7" aggregation="2" vis="SeeThrough"/> <ring name="B1" inner_radius=" 662*mm" outer_radius="( 790-0.2)*mm" repeat="16* 7" aggregation="2" vis="SeeThrough"/>
<ring name="B2" inner_radius="790*mm" outer_radius="(862-0.2)*mm" repeat="16*7" aggregation="1" vis="SeeThrough"/> <ring name="B2" inner_radius=" 790*mm" outer_radius="( 862-0.2)*mm" repeat="16* 7" aggregation="1" vis="SeeThrough"/>
<ring name="B3" inner_radius="862*mm" outer_radius="(1008-0.5)*mm" repeat="16*7" aggregation="2" vis="SeeThrough"/> <ring name="B3" inner_radius=" 862*mm" outer_radius="(1008-0.5)*mm" repeat="16* 7" aggregation="2" vis="SeeThrough"/>
<ring name="C1" inner_radius="1008*mm" outer_radius="(1123-0.2)*mm" repeat="16*10" aggregation="2" vis="SeeThrough"/> <ring name="C1" inner_radius="1008*mm" outer_radius="(1123-0.2)*mm" repeat="16*10" aggregation="2" vis="SeeThrough"/>
<ring name="C2" inner_radius="1123*mm" outer_radius="(1255-0.2)*mm" repeat="16*10" aggregation="2" vis="SeeThrough"/> <ring name="C2" inner_radius="1123*mm" outer_radius="(1255-0.2)*mm" repeat="16*10" aggregation="2" vis="SeeThrough"/>
<ring name="C3" inner_radius="1255*mm" outer_radius="(1324-0.2)*mm" repeat="16*10" aggregation="1" vis="SeeThrough"/> <ring name="C3" inner_radius="1255*mm" outer_radius="(1324-0.2)*mm" repeat="16*10" aggregation="1" vis="SeeThrough"/>
...@@ -44,17 +44,17 @@ ...@@ -44,17 +44,17 @@
<ring name="D4" inner_radius="1668*mm" outer_radius="(1816-0.2)*mm" repeat="16*14" aggregation="2" vis="SeeThrough"/> <ring name="D4" inner_radius="1668*mm" outer_radius="(1816-0.2)*mm" repeat="16*14" aggregation="2" vis="SeeThrough"/>
</rings> </rings>
<layers thickness="11.4*mm"> <layers thickness="11.4*mm">
<layer name="other_electronic" width="100.40*mm" thickness="32.6437*0.1*100*um" material="Kapton" vis="BlackVis"/> <layer name="other_electronic" width="100.40*mm" thickness="32.6437*0.1*100*um" material="Kapton" vis="OrangeVis"/>
<layer name="PCB_metal_layers" thickness="1.436*0.2*100*um" material="G4_Cu" vis="FTDSupportVis"/> <layer name="PCB_metal_layers" thickness="1.436*0.2*100*um" material="G4_Cu" vis="FTDSupportVis"/>
<layer name="PCB_insulating_layers" thickness="28.41*0.07*100*um" material="Polyimide_ITK" vis="FTDSupportVis"/> <layer name="PCB_insulating_layers" thickness="28.41*0.07*100*um" material="Polyimide_ITK" vis="FTDSupportVis"/>
<layer name="glue_1" thickness="100*um" material="CER_ITK" vis="FTDSupportVis"/> <layer name="glue_1" thickness="100*um" material="CER_ITK" vis="LightGrayVis"/>
<layer name="sensor" sensitive="True" thickness="0.3*mm" material="G4_Si" vis="FTDSensitiveVis"/> <layer name="sensor" sensitive="True" thickness="0.3*mm" material="G4_Si" vis="FTDSensitiveVis"/>
<layer name="glue_2" thickness="200*um" material="Polyimide_ITK" vis="FTDSupportVis"/> <layer name="glue_2" thickness="200*um" material="Polyimide_ITK" vis="LightGrayVis"/>
<layer name="carbon_fiber_plane" thickness="0.3*mm" material="CF_ITK" vis="FTDSupportVis"/> <layer name="carbon_fiber_plane" thickness="0.3*mm" material="CF_ITK" vis="GrayVis"/>
<layer name="cooling_tube_wall" thickness="3.560*0.169*100*um" material="G4_Ti" vis="FTDSupportVis"/> <layer name="cooling_tube_wall" thickness="3.560*0.169*100*um" material="G4_Ti" vis="GrayVis"/>
<layer name="cooling_fluid" thickness="35.76*0.105*100*um" material="G4_WATER" vis="FTDSupportVis"/> <layer name="cooling_fluid" thickness="35.76*0.105*100*um" material="G4_WATER" vis="GrayVis"/>
<layer name="graphite_foam_Honeycom" thickness="6000*um" material="GraphiteFoam_OTK" vis="FTDSupportVis"/> <layer name="graphite_foam_Honeycom" thickness="6000*um" material="GraphiteFoam_OTK" vis="GrayVis"/>
<layer name="carbon_fiber_back_plate" thickness="0.3*mm" material="CF_ITK" vis="FTDSupportVis"/> <layer name="carbon_fiber_back_plate" thickness="0.3*mm" material="CF_ITK" vis="GrayVis"/>
</layers> </layers>
</detector> </detector>
</detectors> </detectors>
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<detectors> <detectors>
<detector id="DetID_HCAL_ENDCAP" <detector id="DetID_HCAL_ENDCAP"
name="HcalEndcaps" name="HcalEndcap"
type="SHcalSc04_Endcaps_v02" type="SHcalSc04_Endcaps_v02"
readout="HcalEndcapsCollection" readout="HcalEndcapsCollection"
vis="Invisible" vis="Invisible"
......
...@@ -24,13 +24,13 @@ ...@@ -24,13 +24,13 @@
<slice name="Carbon_fiber_front" material="CF_ITK" thickness="150*um" vis="GrayVis"/> <slice name="Carbon_fiber_front" material="CF_ITK" thickness="150*um" vis="GrayVis"/>
<slice name="Cooling_tube_wall" material="G4_Ti" thickness="3.560*0.013*100*um" vis="GrayVis"/> <slice name="Cooling_tube_wall" material="G4_Ti" thickness="3.560*0.013*100*um" vis="GrayVis"/>
<slice name="Cooling_fluid" material="G4_WATER" thickness="35.76*0.105*100*um" vis="GrayVis"/> <slice name="Cooling_fluid" material="G4_WATER" thickness="35.76*0.105*100*um" vis="GrayVis"/>
<slice name="Graphite_foam_Honeycomb" material="GraphiteFoam_OTK" thickness="2000*um" vis="YellowVis"/> <slice name="Graphite_foam_Honeycomb" material="GraphiteFoam_OTK" thickness="2000*um" vis="GrayVis"/>
<slice name="Carbon_fiber_back" material="CF_ITK" thickness="150*um" vis="GrayVis"/> <slice name="Carbon_fiber_back" material="CF_ITK" thickness="150*um" vis="GrayVis"/>
</support> </support>
<sensor> <sensor>
<slice name="GlueF" material="CER_ITK" thickness="200*um" vis="YellowVis"/> <slice name="GlueF" material="CER_ITK" thickness="200*um" vis="SeeThrough"/>
<slice name="Sensor" material="G4_Si" thickness="150*um" sensitive="true" vis="GreenVis"/> <slice name="Sensor" material="G4_Si" thickness="150*um" sensitive="true" vis="OrangeVis"/>
<slice name="GlueB" material="CER_ITK" thickness="100*um" vis="SeeThrough"/> <slice name="GlueB" material="CER_ITK" thickness="100*um" vis="SeeThrough"/>
<slice name="FPC_Insulating_layers" material="Polyimide_ITK" thickness="100*um" vis="SeeThrough"/> <slice name="FPC_Insulating_layers" material="Polyimide_ITK" thickness="100*um" vis="SeeThrough"/>
<slice name="FPC_metal_layer" material="G4_Al" thickness="50*um" vis="SeeThrough"/> <slice name="FPC_metal_layer" material="G4_Al" thickness="50*um" vis="SeeThrough"/>
......
...@@ -18,8 +18,10 @@ ...@@ -18,8 +18,10 @@
<!--stitching parameter--> <!--stitching parameter-->
<constant name="VXD_sensor_backbone" value="0.055*mm"/> <constant name="VXD_sensor_backbone" value="0.055*mm"/>
<constant name="VXD_sensor_switches" value="0.019*mm"/> <constant name="VXD_sensor_switches" value="0.019*mm"/>
<constant name="VXD_sensor_bias" value="0.106*mm"/> <constant name="VXD_sensor_bias" value="0.106*mm"/>
<constant name="VXD_sensor_periphery" value="0.177*mm"/> <constant name="VXD_sensor_periphery" value="0.177*mm"/>
<!--equivalent to CFRP_CMS-->
<constant name="VXD_flex_thickness" value="1.3*um"/>
</define> </define>
<detectors> <detectors>
...@@ -41,8 +43,8 @@ ...@@ -41,8 +43,8 @@
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0*mm" material="G4_Si"> bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/> <sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis"> <flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/> <!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="45*um" material="CFRP_CMS"/> <slice thickness="VXD_flex_thickness+45*um" material="CFRP_CMS"/>
</flex> </flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/> <readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/> <driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
...@@ -52,8 +54,8 @@ ...@@ -52,8 +54,8 @@
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0*mm" material="G4_Si"> bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/> <sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis"> <flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/> <!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="45*um" material="CFRP_CMS"/> <slice thickness="VXD_flex_thickness+45*um" material="CFRP_CMS"/>
</flex> </flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/> <readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/> <driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
...@@ -65,8 +67,8 @@ ...@@ -65,8 +67,8 @@
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si"> bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/> <sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis"> <flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/> <!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="32*um" material="CFRP_CMS"/> <slice thickness="VXD_flex_thickness+32*um" material="CFRP_CMS"/>
</flex> </flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/> <readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/> <driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
...@@ -76,8 +78,8 @@ ...@@ -76,8 +78,8 @@
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si"> bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/> <sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis"> <flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/> <!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="32*um" material="CFRP_CMS"/> <slice thickness="VXD_flex_thickness+32*um" material="CFRP_CMS"/>
</flex> </flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/> <readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/> <driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
...@@ -89,8 +91,8 @@ ...@@ -89,8 +91,8 @@
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si"> bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/> <sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis"> <flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/> <!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="31*um" material="CFRP_CMS"/> <slice thickness="VXD_flex_thickness+31*um" material="CFRP_CMS"/>
</flex> </flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/> <readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/> <driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
...@@ -100,8 +102,8 @@ ...@@ -100,8 +102,8 @@
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si"> bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/> <sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis"> <flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/> <!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="31*um" material="CFRP_CMS"/> <slice thickness="VXD_flex_thickness+31*um" material="CFRP_CMS"/>
</flex> </flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/> <readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/> <driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
...@@ -113,8 +115,8 @@ ...@@ -113,8 +115,8 @@
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si"> bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/> <sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis"> <flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/> <!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="29*um" material="CFRP_CMS"/> <slice thickness="VXD_flex_thickness+29*um" material="CFRP_CMS"/>
</flex> </flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/> <readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/> <driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
...@@ -124,8 +126,8 @@ ...@@ -124,8 +126,8 @@
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si"> bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/> <sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis"> <flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/> <!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="29*um" material="CFRP_CMS"/> <slice thickness="VXD_flex_thickness+29*um" material="CFRP_CMS"/>
</flex> </flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/> <readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/> <driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
...@@ -159,7 +161,7 @@ ...@@ -159,7 +161,7 @@
<slice length="VXD_ladder_length" thickness="12.5*um" width="VXD_ladder_flex_width" mat="Acrylicglue"/> <!--glue between flex and sensor/support--> <slice length="VXD_ladder_length" thickness="12.5*um" width="VXD_ladder_flex_width" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
</flex> </flex>
<sensor n_sensors="26" gap="0.1*mm" thickness="50*um" active_length="25.6*mm" active_width="12.8*mm" dead_width="2*mm" sensor_mat="G4_Si" <sensor n_sensors="26" gap="0.1*mm" thickness="50*um" active_length="25.6*mm" active_width="12.8*mm" dead_width="2*mm" sensor_mat="G4_Si"
deadwire_length="(26*(25.6+0.1)-0.1)*mm" deadwire_width="2.6*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/> deadwire_length="(26*(25.6+0.1)-0.1)*mm" deadwire_width="2.5*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
</ladder> </ladder>
</layer> </layer>
</detector> </detector>
......
...@@ -882,7 +882,7 @@ ...@@ -882,7 +882,7 @@
<fraction n="1.0" ref="Graphite_ITK"/> <fraction n="1.0" ref="Graphite_ITK"/>
<fraction n="1.0" ref="CF_ITK"/> <fraction n="1.0" ref="CF_ITK"/>
</material> </material>
Graphite_ITK
</materials> </materials>
<surfaces> <surfaces>
......
...@@ -11,23 +11,10 @@ The following CRD detector models are available in CEPCSW ...@@ -11,23 +11,10 @@ The following CRD detector models are available in CEPCSW
| CRD_o1_v04 | smaller center beam pipe | SIT+DC+SET | crystal | RPC | Scint | developing | | CRD_o1_v04 | smaller center beam pipe | SIT+DC+SET | crystal | RPC | Scint | developing |
| CRD_o1_v05 | Use Ref-Det ECAL and HCAL | SIT+TPC+SET | crystal | Glass| Scint | developing | | CRD_o1_v05 | Use Ref-Det ECAL and HCAL | SIT+TPC+SET | crystal | Glass| Scint | developing |
| ------------- | -----------------------------|-------------|---------|------|-------|----------------| | ------------- | -----------------------------|-------------|---------|------|-------|----------------|
| TDR_o1_v01 | stitching and planar VXD, TPC| ITK+TPC+OTK | crystal | Glass| Scint | developing |
# CRD detector models - Overview | TDR_o1_v02 | short barrel vertex, TPC | SIT+TPC+SET | crystal | Glass| Scint | developing |
| TDR_o2_v01 | long barrel vertex, DC | SIT+DC +SET | crystal | Glass| Scint | developing |
The following CRD detector models are available in CEPCSW | TDR_o2_v02 | short barrel vertex, DC | SIT+DC +SET | crystal | Glass| Scint | developing |
| Model | Description | MainTracker | Ecal | Hcal | Status |
| ------------- | -----------------------------|------------ |---------|------|----------------|
| CRD_o1_v01 | coil inside simulation model | SIT+DC+SET | crystal | RPC | developing |
| CRD_o1_v02 | strip SET | SIT+DC+SET | crystal | RPC | developing |
| CRD_o1_v03 | MOST2 vertex | SIT+DC+SET | crystal | RPC | developing |
| CRD_o1_v04 | smaller center beam pipe | SIT+DC+SET | crystal | RPC | developing |
| CRD_o1_v05 | Use Ref-Det ECAL and HCAL | SIT+TPC+SET | crystal | Glass| developing |
| ------------- | -----------------------------|-------------|---------|------|----------------|
| TDR_o1_v01 | stitching and planar VXD, TPC| ITK+TPC+OTK | crystal | Glass| developing |
| TDR_o1_v02 | short barrel vertex, TPC | SIT+TPC+SET | crystal | Glass| developing |
| TDR_o2_v01 | long barrel vertex, DC | SIT+DC +SET | crystal | Glass| developing |
| TDR_o2_v02 | short barrel vertex, DC | SIT+DC +SET | crystal | Glass| developing |
## Details ## Details
...@@ -90,7 +77,40 @@ The following CRD detector models are available in CEPCSW ...@@ -90,7 +77,40 @@ The following CRD detector models are available in CEPCSW
- compact files: - compact files:
- [./CRD_o1_v05/CRD_o1_v05.xml] - [./CRD_o1_v05/CRD_o1_v05.xml]
### TDR_o1_v01 (TODO) ### TDR_o1_v01
- coil outside Hcal ref-TDR detector model
- BeamPipe
- with center pipe + crotch link to doubly-pipe
- CRD_common_v02/Beampipe_v01_07.xml: Detector/DetCRD/src/Other/CRDBeamPipe_v01_geo.cpp
- Vertex
- with silicon ladders (sitiching 4 layers + ladder double layers)
- CRD_common_v02/VXD_Composite_v01_03.xml: Detector/DetCRD/src/Tracker/SiTrackerComposite_v03_geo.cpp
- MainTracker
- with TPC + pixel silicon detector
- CRD_common_v02/TPC_ModularEndcap_o1_v02.xml: Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp
- CRD_common_v02/ITK_StaggeredStave_v03_01.xml: Detector/DetCRD/src/Tracker/SiTrackerStaggeredLadder_v03_geo.cpp
- CRD_common_v02/ITK_EndCap_v01.xml: Detector/DetCRD/src/Tracker/ITK_EndCap_v01.cpp
- TOF & outer tracker
- with AC-LCAD
- OTKBarrel_v02.xml: Detector/DetCRD/src/Tracker/Detector/DetCRD/src/Tracker/SiTracker_otkbarrel_v02_geo.cpp
- OTKEndcap_v02.xml: Detector/DetCRD/src/Tracker/Detector/DetCRD/src/Tracker/SiTracker_otkendcap_v02_geo.cpp
- Ecal
- with crystal
- Ecal_Crystal_Barrel_v02_02.xml: Detector/DetCRD/src/Calorimeter/LongCrystalBarBarrelCalorimeter32Polygon_v02.cpp
- Ecal_Crystal_Endcap_v02_01.xml: Detector/DetCRD/src/Calorimeter/LongCrystalBarEndcapCalorimeter_v03.cpp
- Hcal
- with glass sensitive
- SHcalGlass_Barrel_v05.xml: Detector/DetCEPCv4/src/calorimeter/SHcalSc04_Barrel_v04.cpp
- SHcalGlass_Endcaps_v01.xml: Detector/DetCEPCv4/src/calorimeter/SHcalSc04_Endcaps_v01.cpp
- Coil
- sub-layers using DD4hep_TubeSegment
- Coil_Simple_v01_03.xml
- Yoke & muon
- CRD_common_v01/Muon_Barrel_v01_04.xml: Detector/DetCRD/src/Muon/Muon_Barrel_v01_04.cpp
- CRD_common_v01/Muon_Endcap_v01_02.xml: Detector/DetCRD/src/Muon/Muon_Endcap_v01_02.cpp
- LumiCal
- CRD_common_v01/Lumical_o1_v01.xml: Detector/DetCRD/src/Calorimeter/Lumical_v01_geo.cpp
- Service & others (TODO)
### TDR_o1_v02 (TODO) ### TDR_o1_v02 (TODO)
......
...@@ -72,13 +72,13 @@ EcalDigi.SkipEvt = 0 ...@@ -72,13 +72,13 @@ EcalDigi.SkipEvt = 0
EcalDigi.Seed = 2079 EcalDigi.Seed = 2079
#Digitalization parameters #Digitalization parameters
EcalDigi.TimeResolution = 0.7 # 0.7 ns EcalDigi.TimeResolution = 0.7 # 0.7 ns
EcalDigi.EcalMIPEnergy = 8.9 # MIP energy 8.9 MeV for 1 cm BGO EcalDigi.EcalMIPEnergy = 13.35 # MIP energy 13.35 MeV for 1.5 cm BGO
EcalDigi.EcalMIP_Thre = 0.05 # 0.05 mip at each side, 0.1 mip for one bar EcalDigi.EcalMIP_Thre = 0.05 # 0.05 mip at each side, 0.1 mip for one bar
EcalDigi.UseRealisticDigi = 1 EcalDigi.UseRealisticDigi = 1
# scintillation # scintillation
EcalDigi.UseDigiScint = 1 EcalDigi.UseDigiScint = 1
EcalDigi.EcalCryIntLY = 8200 #intrinsic LY 8200 [p.e./MIP] EcalDigi.EcalCryIntLY = 8200 #intrinsic LY 8200 [p.e./MIP]
EcalDigi.EcalCryMipLY = 200 #Detected effective LY 200 [p.e./MIP] EcalDigi.EcalCryMipLY = 300 #Detected effective LY 300 [p.e./MIP]
EcalDigi.AttenuationLength = 1e8 # 8000 mm for 5% non-uniformity EcalDigi.AttenuationLength = 1e8 # 8000 mm for 5% non-uniformity
# SiPM # SiPM
EcalDigi.SiPMDigiVerbose = 2 # 0:w/o response, w/o correction; 1:w/ response, w/o correction; 2:w/ response, w/ simple correction; 3:w/ response, w/ full correction EcalDigi.SiPMDigiVerbose = 2 # 0:w/o response, w/o correction; 1:w/ response, w/o correction; 2:w/ response, w/ simple correction; 3:w/ response, w/ full correction
...@@ -86,14 +86,18 @@ EcalDigi.EcalSiPMPDE = 0.25 # NDL-EQR06, PDE 0.25 ...@@ -86,14 +86,18 @@ EcalDigi.EcalSiPMPDE = 0.25 # NDL-EQR06, PDE 0.25
EcalDigi.EcalSiPMDCR = 0 # NDL-EQR06, dark count rate 2500000 [Hz] EcalDigi.EcalSiPMDCR = 0 # NDL-EQR06, dark count rate 2500000 [Hz]
EcalDigi.EcalTimeInterval = 0. # Time interval 0.000002 [s]. DCR*TimeInterval = dark count noise EcalDigi.EcalTimeInterval = 0. # Time interval 0.000002 [s]. DCR*TimeInterval = dark count noise
EcalDigi.EcalSiPMCT = 0. # SiPM crosstalk Probability 12% EcalDigi.EcalSiPMCT = 0. # SiPM crosstalk Probability 12%
EcalDigi.EcalSiPMGainMean = 50 # 50 [ADC/p.e.] EcalDigi.EcalSiPMGainMean = 5 # 5 [ADC/p.e.]
EcalDigi.EcalSiPMGainSigma = 0.08 # 0.08 EcalDigi.EcalSiPMGainSigma = 0.08 # 0.08
#EcalDigi.EcalSiPMNoiseSigma = 0 # 0
# ADC # ADC
EcalDigi.ADC = 8192 # 13-bit, 8192 EcalDigi.ADC = 8192 # 13-bit, 8192
EcalDigi.ADCSwitch = 8000 # 8000 EcalDigi.ADCSwitch = 8000 # 8000
EcalDigi.Pedestal = 50 # Pedestal 50 ADC EcalDigi.Pedestal = 50 # Pedestal 50 ADC
EcalDigi.GainRatio_12 = 50 # Gain ratio 50 EcalDigi.GainRatio_12 = 30 # Gain ratio 30
EcalDigi.GainRatio_23 = 60 # Gain ratio 60 EcalDigi.GainRatio_23 = 10 # Gain ratio 10
EcalDigi.EcalASICNoiseSigma = 4
EcalDigi.EcalFEENoiseSigma = 5
EcalDigi.ADCNonLinearity = 0 # ADC non-linearity 0
# temperature control # temperature control
EcalDigi.UseCryTemp = 0 EcalDigi.UseCryTemp = 0
EcalDigi.UseCryTempCor = 0 EcalDigi.UseCryTempCor = 0
......
...@@ -39,12 +39,12 @@ inp = PodioInput("InputReader") ...@@ -39,12 +39,12 @@ inp = PodioInput("InputReader")
inp.collections = [ inp.collections = [
"ECALBarrel", "ECALBarrel",
"ECALBarrelParticleAssoCol", "ECALBarrelParticleAssoCol",
# "ECALEndcaps", "ECALEndcaps",
# "ECALEndcapsParticleAssoCol", "ECALEndcapsParticleAssoCol",
"HCALBarrel", "HCALBarrel",
"HCALBarrelParticleAssoCol", "HCALBarrelParticleAssoCol",
# "HCALEndcaps", "HCALEndcaps",
# "HCALEndcapsParticleAssoCol", "HCALEndcapsParticleAssoCol",
"MCParticle", "MCParticle",
"CompleteTracks", "CompleteTracks",
"CompleteTracksParticleAssociation", "CompleteTracksParticleAssociation",
...@@ -60,7 +60,7 @@ CyberPFAlg.Seed = 1024 ...@@ -60,7 +60,7 @@ CyberPFAlg.Seed = 1024
CyberPFAlg.BField = 3. CyberPFAlg.BField = 3.
CyberPFAlg.Debug = 0 CyberPFAlg.Debug = 0
CyberPFAlg.SkipEvt = 0 CyberPFAlg.SkipEvt = 0
CyberPFAlg.WriteAna = 1 CyberPFAlg.WriteAna = 0
CyberPFAlg.AnaFileName = "RecAnaTuple_TDR_o1_v01.root" CyberPFAlg.AnaFileName = "RecAnaTuple_TDR_o1_v01.root"
CyberPFAlg.UseMCPTrack = 0 CyberPFAlg.UseMCPTrack = 0
CyberPFAlg.UseTruthMatchTrack = 0 CyberPFAlg.UseTruthMatchTrack = 0
...@@ -75,18 +75,12 @@ CyberPFAlg.HcalNeutralCalib = 4.0 ...@@ -75,18 +75,12 @@ CyberPFAlg.HcalNeutralCalib = 4.0
CyberPFAlg.MCParticleCollection = "MCParticle" CyberPFAlg.MCParticleCollection = "MCParticle"
CyberPFAlg.TrackCollections = ["CompleteTracks"] CyberPFAlg.TrackCollections = ["CompleteTracks"]
CyberPFAlg.MCRecoTrackParticleAssociationCollection = "CompleteTracksParticleAssociation" CyberPFAlg.MCRecoTrackParticleAssociationCollection = "CompleteTracksParticleAssociation"
#CyberPFAlg.ECalCaloHitCollections = ["ECALBarrel","ECALEndcaps"] CyberPFAlg.ECalCaloHitCollections = ["ECALBarrel","ECALEndcaps"]
#CyberPFAlg.ECalReadOutNames = ["EcalBarrelCollection","EcalEndcapsCollection"] CyberPFAlg.ECalReadOutNames = ["EcalBarrelCollection","EcalEndcapsCollection"]
#CyberPFAlg.ECalMCPAssociationName = ["ECALBarrelParticleAssoCol", "ECALEndcapsParticleAssoCol"] CyberPFAlg.ECalMCPAssociationName = ["ECALBarrelParticleAssoCol", "ECALEndcapsParticleAssoCol"]
#CyberPFAlg.HCalCaloHitCollections = ["HCALBarrel", "HCALEndcaps"] CyberPFAlg.HCalCaloHitCollections = ["HCALBarrel", "HCALEndcaps"]
#CyberPFAlg.HCalReadOutNames = ["HcalBarrelCollection", "HcalEndcapsCollection"] CyberPFAlg.HCalReadOutNames = ["HcalBarrelCollection", "HcalEndcapsCollection"]
#CyberPFAlg.HCalMCPAssociationName = ["HCALBarrelParticleAssoCol", "HCALEndcapsParticleAssoCol"] CyberPFAlg.HCalMCPAssociationName = ["HCALBarrelParticleAssoCol", "HCALEndcapsParticleAssoCol"]
CyberPFAlg.ECalCaloHitCollections = ["ECALBarrel"]
CyberPFAlg.ECalReadOutNames = ["EcalBarrelCollection"]
CyberPFAlg.ECalMCPAssociationName = ["ECALBarrelParticleAssoCol"]
CyberPFAlg.HCalCaloHitCollections = ["HCALBarrel"]
CyberPFAlg.HCalReadOutNames = ["HcalBarrelCollection"]
CyberPFAlg.HCalMCPAssociationName = ["HCALBarrelParticleAssoCol"]
##--- Output collections --- ##--- Output collections ---
CyberPFAlg.OutputPFO = "outputPFO"; CyberPFAlg.OutputPFO = "outputPFO";
...@@ -113,8 +107,8 @@ CyberPFAlg.AlgParNames = [ ["InputECALBars","OutputECAL1DClusters","OutputECALHa ...@@ -113,8 +107,8 @@ CyberPFAlg.AlgParNames = [ ["InputECALBars","OutputECAL1DClusters","OutputECALHa
["OutputAxisName"], #6 ["OutputAxisName"], #6
["ReadinAxisName", "OutputClusName", "OutputTowerName"], #9 ["ReadinAxisName", "OutputClusName", "OutputTowerName"], #9
["ReadinHFClusterName", "ReadinTowerName","OutputClusterName"], #11 ["ReadinHFClusterName", "ReadinTowerName","OutputClusterName"], #11
["InputHCALHits", "OutputHCALClusters"], #12 ["OutputHCALClusters"], #12
["DoECALClustering","DoHCALClustering","InputHCALHits","OutputHCALClusters"], #15 ["DoECALClustering","DoHCALClustering","OutputHCALClusters"], #15
["ReadinECALClusterName", "ReadinHCALClusterName", "OutputCombPFO"], #16 ["ReadinECALClusterName", "ReadinHCALClusterName", "OutputCombPFO"], #16
["ECALChargedCalib", "HCALChargedCalib", "ECALNeutralCalib", "HCALNeutralCalib"] ]#17 ["ECALChargedCalib", "HCALChargedCalib", "ECALNeutralCalib", "HCALNeutralCalib"] ]#17
CyberPFAlg.AlgParTypes = [ ["string","string","string"],#1 CyberPFAlg.AlgParTypes = [ ["string","string","string"],#1
...@@ -125,8 +119,8 @@ CyberPFAlg.AlgParTypes = [ ["string","string","string"],#1 ...@@ -125,8 +119,8 @@ CyberPFAlg.AlgParTypes = [ ["string","string","string"],#1
["string"], #6 ["string"], #6
["string","string","string"], #9 ["string","string","string"], #9
["string","string","string"], #11 ["string","string","string"], #11
["string", "string"], #12 ["string"], #12
["bool","bool","string","string"], #15 ["bool","bool","string"], #15
["string","string","string"], #16 ["string","string","string"], #16
["double","double", "double","double"] ]#17 ["double","double", "double","double"] ]#17
CyberPFAlg.AlgParValues = [ ["BarCol","Cluster1DCol","HalfClusterCol"],#1 CyberPFAlg.AlgParValues = [ ["BarCol","Cluster1DCol","HalfClusterCol"],#1
...@@ -137,8 +131,8 @@ CyberPFAlg.AlgParValues = [ ["BarCol","Cluster1DCol","HalfClusterCol"],#1 ...@@ -137,8 +131,8 @@ CyberPFAlg.AlgParValues = [ ["BarCol","Cluster1DCol","HalfClusterCol"],#1
["MergedAxis"], #6 ["MergedAxis"], #6
["MergedAxis","ESHalfCluster","ESTower"], #9 ["MergedAxis","ESHalfCluster","ESTower"], #9
["ESHalfCluster","ESTower","EcalCluster"], #11 ["ESHalfCluster","ESTower","EcalCluster"], #11
["HCALBarrel", "SimpleHCALCluster"], #12 ["SimpleHCALCluster"], #12
["0","1","HCALBarrel","HCALCluster"], #15 ["0","1","HCALCluster"], #15
["EcalCluster", "SimpleHCALCluster", "outputPFO"], #16 ["EcalCluster", "SimpleHCALCluster", "outputPFO"], #16
["1.26","4.", "1.", "4."] ]#17 ["1.26","4.", "1.", "4."] ]#17
...@@ -149,6 +143,7 @@ pid.OutputPFOName = "CyberPFOPID" ...@@ -149,6 +143,7 @@ pid.OutputPFOName = "CyberPFOPID"
from Configurables import GenMatch from Configurables import GenMatch
genmatch = GenMatch("GenMatch") genmatch = GenMatch("GenMatch")
genmatch.InputPFOs = "CyberPFOPID"
genmatch.nJets = 2 genmatch.nJets = 2
genmatch.R = 0.6 genmatch.R = 0.6
genmatch.OutputFile = "Jets_TDR_o1_v01.root" genmatch.OutputFile = "Jets_TDR_o1_v01.root"
......
...@@ -43,6 +43,7 @@ from Configurables import SLCIORdr ...@@ -43,6 +43,7 @@ from Configurables import SLCIORdr
from Configurables import HepMCRdr from Configurables import HepMCRdr
from Configurables import GenPrinter from Configurables import GenPrinter
########### Particle Gun ##############
gun = GtGunTool("GtGunTool") gun = GtGunTool("GtGunTool")
gun.PositionXs = [0] gun.PositionXs = [0]
gun.PositionYs = [0] gun.PositionYs = [0]
...@@ -60,6 +61,13 @@ genprinter = GenPrinter("GenPrinter") ...@@ -60,6 +61,13 @@ genprinter = GenPrinter("GenPrinter")
genalg = GenAlgo("GenAlgo") genalg = GenAlgo("GenAlgo")
genalg.GenTools = ["GtGunTool"] genalg.GenTools = ["GtGunTool"]
############ Physics generator in stdhep
#stdheprdr = StdHepRdr("StdHepRdr")
#stdheprdr.Input = "/cefs/data/stdhep/CEPC240/higgs/update_from_LiangHao_1M/data/E240.Pnnh_gg.e0.p0.whizard195/nnh_gg.e0.p0.00001.stdhep"
#genalg = GenAlgo("GenAlgo")
#genalg.GenTools = ["StdHepRdr"]
############################################################################## ##############################################################################
# Detector Simulation # Detector Simulation
############################################################################## ##############################################################################
...@@ -68,8 +76,8 @@ detsimsvc = DetSimSvc("DetSimSvc") ...@@ -68,8 +76,8 @@ detsimsvc = DetSimSvc("DetSimSvc")
from Configurables import Edm4hepWriterAnaElemTool from Configurables import Edm4hepWriterAnaElemTool
edm4hep_writer = Edm4hepWriterAnaElemTool("Edm4hepWriterAnaElemTool") edm4hep_writer = Edm4hepWriterAnaElemTool("Edm4hepWriterAnaElemTool")
#edm4hep_writer.TrackerCollections = ["VXD", "ITKBarrel", "ITKEndcap", "TPC", "TPCLowPt", "TPCSpacePoint", edm4hep_writer.TrackerCollections = ["VXD", "ITKBarrel", "ITKEndcap", "TPC", "TPCLowPt", "TPCSpacePoint",
# "OTKBarrel", "OTKEndcap", "COIL", "MuonBarrel", "MuonEndcap"] "OTKBarrel", "OTKEndcap", "COIL", "MuonBarrel", "MuonEndcap"]
from Configurables import DetSimAlg from Configurables import DetSimAlg
detsimalg = DetSimAlg("DetSimAlg") detsimalg = DetSimAlg("DetSimAlg")
...@@ -85,6 +93,10 @@ detsimalg.AnaElems = [ ...@@ -85,6 +93,10 @@ detsimalg.AnaElems = [
] ]
detsimalg.RootDetElem = "WorldDetElemTool" detsimalg.RootDetElem = "WorldDetElemTool"
from Configurables import Edm4hepWriterAnaElemTool
detsim_anatool = Edm4hepWriterAnaElemTool("Edm4hepWriterAnaElemTool")
detsim_anatool.IsTrk2Primary = False # True: primary; False: ancestor
from Configurables import TimeProjectionChamberSensDetTool from Configurables import TimeProjectionChamberSensDetTool
tpc_sensdettool = TimeProjectionChamberSensDetTool("TimeProjectionChamberSensDetTool") tpc_sensdettool = TimeProjectionChamberSensDetTool("TimeProjectionChamberSensDetTool")
tpc_sensdettool.TypeOption = 1 tpc_sensdettool.TypeOption = 1
...@@ -101,6 +113,15 @@ dedx_simtool.max_step = 1#mm ...@@ -101,6 +113,15 @@ dedx_simtool.max_step = 1#mm
dedx_simtool.save_mc = True dedx_simtool.save_mc = True
#dedx_simtool.OutputLevel = DEBUG #dedx_simtool.OutputLevel = DEBUG
from Configurables import CalorimeterSensDetTool
from Configurables import DriftChamberSensDetTool
cal_sensdettool = CalorimeterSensDetTool("CalorimeterSensDetTool")
cal_sensdettool.CalNamesMergeDisable = ["EcalBarrel", "EcalEndcap", "HcalBarrel", "HcalEndcap"]
cal_sensdettool.CalNamesApplyBirks = ["EcalBarrel", "EcalEndcap", "HcalBarrel","HcalEndcap"]
cal_sensdettool.CalNamesBirksConstants = [0.008415, 0.008415, 0.01, 0.01] # BGO and Glass scintillator
from Configurables import MarlinEvtSeeder from Configurables import MarlinEvtSeeder
evtseeder = MarlinEvtSeeder("EventSeeder") evtseeder = MarlinEvtSeeder("EventSeeder")
......
...@@ -76,6 +76,7 @@ from Configurables import SmearDigiTool,SiTrackerDigiAlg ...@@ -76,6 +76,7 @@ from Configurables import SmearDigiTool,SiTrackerDigiAlg
vxdtool = SmearDigiTool("VXD") vxdtool = SmearDigiTool("VXD")
vxdtool.ResolutionU = [0.005] vxdtool.ResolutionU = [0.005]
vxdtool.ResolutionV = [0.005] vxdtool.ResolutionV = [0.005]
vxdtool.EnergyThreshold = 0.00001 #GeV
#vxdtool.OutputLevel = DEBUG #vxdtool.OutputLevel = DEBUG
digiVXD = SiTrackerDigiAlg("VXDDigi") digiVXD = SiTrackerDigiAlg("VXDDigi")
...@@ -89,6 +90,7 @@ digiVXD.DigiTool = "SmearDigiTool/VXD" ...@@ -89,6 +90,7 @@ digiVXD.DigiTool = "SmearDigiTool/VXD"
itkbtool = SmearDigiTool("ITKBarrel") itkbtool = SmearDigiTool("ITKBarrel")
itkbtool.ResolutionU = [0.008] itkbtool.ResolutionU = [0.008]
itkbtool.ResolutionV = [0.040] itkbtool.ResolutionV = [0.040]
itkbtool.EnergyThreshold = 0.00005 #GeV
#itkbtool.OutputLevel = DEBUG #itkbtool.OutputLevel = DEBUG
digiITKB = SiTrackerDigiAlg("ITKBarrelDigi") digiITKB = SiTrackerDigiAlg("ITKBarrelDigi")
...@@ -102,6 +104,7 @@ digiITKB.DigiTool = "SmearDigiTool/ITKBarrel" ...@@ -102,6 +104,7 @@ digiITKB.DigiTool = "SmearDigiTool/ITKBarrel"
itketool = SmearDigiTool("ITKEndcap") itketool = SmearDigiTool("ITKEndcap")
itketool.ResolutionU = [0.008] itketool.ResolutionU = [0.008]
itketool.ResolutionV = [0.040] itketool.ResolutionV = [0.040]
itketool.EnergyThreshold = 0.00005 #GeV
#itketool.OutputLevel = DEBUG #itketool.OutputLevel = DEBUG
digiITKE = SiTrackerDigiAlg("ITKEndcapDigi") digiITKE = SiTrackerDigiAlg("ITKEndcapDigi")
...@@ -115,6 +118,7 @@ digiITKE.DigiTool = "SmearDigiTool/ITKEndcap" ...@@ -115,6 +118,7 @@ digiITKE.DigiTool = "SmearDigiTool/ITKEndcap"
otkbtool = SmearDigiTool("OTKBarrel") otkbtool = SmearDigiTool("OTKBarrel")
otkbtool.ResolutionU = [0.010] otkbtool.ResolutionU = [0.010]
otkbtool.ResolutionV = [1.000] otkbtool.ResolutionV = [1.000]
otkbtool.EnergyThreshold = 0.00005 #GeV
#otkbtool.OutputLevel = DEBUG #otkbtool.OutputLevel = DEBUG
digiOTKB = SiTrackerDigiAlg("OTKBarrelDigi") digiOTKB = SiTrackerDigiAlg("OTKBarrelDigi")
...@@ -128,6 +132,7 @@ digiOTKB.DigiTool = "SmearDigiTool/OTKBarrel" ...@@ -128,6 +132,7 @@ digiOTKB.DigiTool = "SmearDigiTool/OTKBarrel"
otketool = SmearDigiTool("OTKEndcap") otketool = SmearDigiTool("OTKEndcap")
otketool.ResolutionU = [0.010] otketool.ResolutionU = [0.010]
otketool.ResolutionV = [1.000] otketool.ResolutionV = [1.000]
otketool.EnergyThreshold = 0.00005 #GeV
#otketool.OutputLevel = DEBUG #otketool.OutputLevel = DEBUG
digiOTKE = SiTrackerDigiAlg("OTKEndcapDigi") digiOTKE = SiTrackerDigiAlg("OTKEndcapDigi")
...@@ -166,6 +171,7 @@ digiMuon.SiPMEff = 1 ...@@ -166,6 +171,7 @@ digiMuon.SiPMEff = 1
digiMuon.EdepMin = 0.0 # no cut on GeV energy deposition digiMuon.EdepMin = 0.0 # no cut on GeV energy deposition
digiMuon.HitEdepMin = 6.0 # ADC counts digiMuon.HitEdepMin = 6.0 # ADC counts
digiMuon.HitEdepMax = -1 # ADC counts, -1 means no upper cut digiMuon.HitEdepMax = -1 # ADC counts, -1 means no upper cut
digiMuon.TimeResolution = 2.0 # Digi hit time resolution, in unit ns
#digiMuon.OutputLevel = DEBUG #digiMuon.OutputLevel = DEBUG
######################################### #########################################
...@@ -273,7 +279,8 @@ full.OutputTracks = "CompleteTracks" # default name ...@@ -273,7 +279,8 @@ full.OutputTracks = "CompleteTracks" # default name
full.FTDHitToTrackDistance = 5. full.FTDHitToTrackDistance = 5.
full.SITHitToTrackDistance = 3. full.SITHitToTrackDistance = 3.
full.SETHitToTrackDistance = 5. full.SETHitToTrackDistance = 5.
full.ETDHitToTrackDistance = 15. #according to particle gun
full.ETDHitToTrackDistance = 40.
full.MinChi2ProbForSiliconTracks = 0 full.MinChi2ProbForSiliconTracks = 0
full.MaxChi2PerHit = 200 full.MaxChi2PerHit = 200
full.ForceSiTPCMerging = True full.ForceSiTPCMerging = True
...@@ -293,7 +300,7 @@ tpr = TrackParticleRelationAlg("Track2Particle") ...@@ -293,7 +300,7 @@ tpr = TrackParticleRelationAlg("Track2Particle")
tpr.MCParticleCollection = "MCParticle" tpr.MCParticleCollection = "MCParticle"
tpr.TrackList = ["CompleteTracks"] tpr.TrackList = ["CompleteTracks"]
tpr.TrackerAssociationList = ["VXDTrackerHitAssociation", "ITKBarrelTrackerHitAssociation", "ITKEndcapTrackerHitAssociation", tpr.TrackerAssociationList = ["VXDTrackerHitAssociation", "ITKBarrelTrackerHitAssociation", "ITKEndcapTrackerHitAssociation",
"OTKBarrelTrackerHitAssociation", "OTKEndcapTrackerHitAssociation"] "OTKBarrelTrackerHitAssociation", "OTKEndcapTrackerHitAssociation", "TPCTrackerHitAss"]
#tpr.OutputLevel = DEBUG #tpr.OutputLevel = DEBUG
......
...@@ -552,15 +552,17 @@ static Ref_t create_detector(Detector& theDetector, ...@@ -552,15 +552,17 @@ static Ref_t create_detector(Detector& theDetector,
sectionEnd.rOuter = sectionEnd.rInner + pipeThicknessEnd; sectionEnd.rOuter = sectionEnd.rInner + pipeThicknessEnd;
sectionEnd.zPos = zend ; sectionEnd.zPos = zend ;
if(beampipeData->sections.size()!=0){ if (beampipeData->sections.size()<4) {
ConicalSupportData::Section last = beampipeData->sections.back(); if (beampipeData->sections.size()!=0) {
if(last.rInner != section.rInner || last.rOuter != section.rOuter){ ConicalSupportData::Section last = beampipeData->sections.back();
section.zPos = zstart + 1e-9*dd4hep::mm ; if (last.rInner != section.rInner || last.rOuter != section.rOuter) {
beampipeData->sections.push_back( section ); section.zPos = zstart + 1e-9*dd4hep::mm ;
beampipeData->sections.push_back( section );
}
} }
else beampipeData->sections.push_back( section );
beampipeData->sections.push_back( sectionEnd ) ;
} }
else beampipeData->sections.push_back( section );
beampipeData->sections.push_back( sectionEnd ) ;
} }
}//for all xmlSections }//for all xmlSections
......
...@@ -135,7 +135,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s ...@@ -135,7 +135,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
std::string sensor_name = ring_vol_name + "_petal"; std::string sensor_name = ring_vol_name + "_petal";
Volume sensor_vol(sensor_name, sensor_box, air); Volume sensor_vol(sensor_name, sensor_box, air);
DetElement sensor_det(sensor_name, det_id); DetElement sensor_det(sensor_name, det_id);
sensor_vol = sensor_vol.setVisAttributes(description.visAttributes("SeeThrough")); sensor_vol = sensor_vol.setVisAttributes(description.visAttributes(vis));
double sensitive_thickness = 0; double sensitive_thickness = 0;
double glue_thickness = 0; double glue_thickness = 0;
...@@ -186,7 +186,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s ...@@ -186,7 +186,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
double r_offset = ring_inner_r + module_dr / 2.0; double r_offset = ring_inner_r + module_dr / 2.0;
for (int i = 0; i < nmodule; ++i) for (int i = 0; i < nmodule; ++i)
{ {
double angle = phi0 - i * 2 * M_PI / nmodule; double angle = phi0 + i * 2 * M_PI / nmodule;
double rotated_x = r_offset * cos(angle); double rotated_x = r_offset * cos(angle);
double rotated_y = r_offset * sin(angle); double rotated_y = r_offset * sin(angle);
auto transform = Transform3D(RotationZ(angle), Position(rotated_x, rotated_y, 0)); auto transform = Transform3D(RotationZ(angle), Position(rotated_x, rotated_y, 0));
...@@ -202,7 +202,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s ...@@ -202,7 +202,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
positive_even_sensor_det.setPlacement(pv); positive_even_sensor_det.setPlacement(pv);
ringPosF_det.add(positive_even_sensor_det); ringPosF_det.add(positive_even_sensor_det);
angle -= M_PI / nmodule; angle += M_PI / nmodule;
rotated_x = r_offset * cos(angle); rotated_x = r_offset * cos(angle);
rotated_y = r_offset * sin(angle); rotated_y = r_offset * sin(angle);
transform = Transform3D(RotationZ(angle), Position(rotated_x, rotated_y, 0)); transform = Transform3D(RotationZ(angle), Position(rotated_x, rotated_y, 0));
...@@ -230,12 +230,12 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s ...@@ -230,12 +230,12 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
ringPosF_det.setPlacement(pv); ringPosF_det.setPlacement(pv);
layer_det.add(ringPosF_det); layer_det.add(ringPosF_det);
pv = layerNeg_vol.placeVolume(ringNegR_vol, Position(0, 0, +(SupportThickness + SiliconThickness) / 2.0)); pv = layerNeg_vol.placeVolume(ringNegR_vol, Position(0, 0, -(SupportThickness + SiliconThickness) / 2.0));
pv = pv.addPhysVolID("sensor", std::stoi(ring_id)); pv = pv.addPhysVolID("sensor", std::stoi(ring_id));
ringNegR_det.setPlacement(pv); ringNegR_det.setPlacement(pv);
layerNeg_det.add(ringNegR_det); layerNeg_det.add(ringNegR_det);
pv = layerNeg_vol.placeVolume(ringNegF_vol, Position(0, 0, -(SupportThickness + SiliconThickness) / 2.0)); pv = layerNeg_vol.placeVolume(ringNegF_vol, Position(0, 0, +(SupportThickness + SiliconThickness) / 2.0));
pv = pv.addPhysVolID("sensor", std::stoi(ring_id)); pv = pv.addPhysVolID("sensor", std::stoi(ring_id));
ringNegF_det.setPlacement(pv); ringNegF_det.setPlacement(pv);
layerNeg_det.add(ringNegF_det); layerNeg_det.add(ringNegF_det);
......
...@@ -528,8 +528,8 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h ...@@ -528,8 +528,8 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h
topLayer.zHalfSupport = support_length / 2.0; topLayer.zHalfSupport = support_length / 2.0;
topLayer.distanceSensitive = ladder_distance + support_height / 2.0 + flex_thickness; topLayer.distanceSensitive = ladder_distance + support_height / 2.0 + flex_thickness;
topLayer.thicknessSensitive = sensor_thickness; topLayer.thicknessSensitive = sensor_thickness;
topLayer.offsetSensitive = ladder_offset + (support_width/2.0 - sensor_active_width/2.0); topLayer.offsetSensitive = ladder_offset + (support_width/2.0 - sensor_active_width/2.0 - sensor_dead_width/2.0);
topLayer.widthSensitive = sensor_active_width; topLayer.widthSensitive = sensor_active_width + sensor_dead_width;
topLayer.zHalfSensitive = (n_sensors_per_side*(sensor_active_len + dead_gap) - dead_gap) / 2.0; topLayer.zHalfSensitive = (n_sensors_per_side*(sensor_active_len + dead_gap) - dead_gap) / 2.0;
bottomLayer.ladderNumber = n_ladders; bottomLayer.ladderNumber = n_ladders;
...@@ -543,8 +543,8 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h ...@@ -543,8 +543,8 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h
bottomLayer.zHalfSupport = support_length / 2.0; bottomLayer.zHalfSupport = support_length / 2.0;
bottomLayer.distanceSensitive = ladder_distance - support_height / 2.0 - sensor_thickness - flex_thickness; bottomLayer.distanceSensitive = ladder_distance - support_height / 2.0 - sensor_thickness - flex_thickness;
bottomLayer.thicknessSensitive = sensor_thickness; bottomLayer.thicknessSensitive = sensor_thickness;
bottomLayer.offsetSensitive = ladder_offset + (support_width/2.0 - sensor_active_width/2.0); bottomLayer.offsetSensitive = ladder_offset + (support_width/2.0 - sensor_active_width/2.0 - sensor_dead_width/2.0);
bottomLayer.widthSensitive = sensor_active_width; bottomLayer.widthSensitive = sensor_active_width + sensor_dead_width;
bottomLayer.zHalfSensitive = (n_sensors_per_side*(sensor_active_len + dead_gap) - dead_gap) / 2.0; bottomLayer.zHalfSensitive = (n_sensors_per_side*(sensor_active_len + dead_gap) - dead_gap) / 2.0;
compositeData->layersPlanar.push_back(bottomLayer); compositeData->layersPlanar.push_back(bottomLayer);
......
...@@ -49,17 +49,22 @@ class MuonDigiAlg : public GaudiAlgorithm ...@@ -49,17 +49,22 @@ class MuonDigiAlg : public GaudiAlgorithm
virtual StatusCode initialize() ; virtual StatusCode initialize() ;
virtual StatusCode execute() ; virtual StatusCode execute() ;
virtual StatusCode finalize() ; virtual StatusCode finalize() ;
void MuonHandle(int _i); // 2->Barrel 0->Endcap void MuonHandle(int barrel_or_endcap); // 2->Barrel 0->Endcap
void Clear(); void Clear();
void GetSimHit(edm4hep::SimTrackerHit _simhit, dd4hep::DDSegmentation::BitFieldCoder* _m_decoder, int _i, int _message[6], double & _Edep, unsigned long long & _cellid, double & _xydist, edm4hep::Vector3d & _pos, dd4hep::Position & _ddpos, std::array<unsigned long long, 2> & _key, double & _mcpz); void GetSimHit(edm4hep::SimTrackerHit hit_simhit, dd4hep::DDSegmentation::BitFieldCoder* hit_m_decoder, int hit_i,
double Gethit_sipm_length_Barrel(dd4hep::Position _ddpos, edm4hep::Vector3d _pos, int _message[6]); int hit_data[6], double & hit_Edep, unsigned long long & hit_cellid, double & hit_xydist,
double Gethit_sipm_length_Endcap(dd4hep::Position _ddpos, edm4hep::Vector3d _pos, int _message[6]); edm4hep::Vector3d & hit_pos, dd4hep::Position & hit_ddpos,
double EdeptoADC(double _Edep, double _hit_sipm_length); std::array<unsigned long long, 2> & cell_key, double & cell_mcpz, double & hit_time);
void SaveData_mapcell(std::array<unsigned long long, 2> _key, double _Edep, int _message[6], edm4hep::Vector3d _pos); double Gethit_sipm_length_Barrel(dd4hep::Position hit_ddpos, edm4hep::Vector3d hit_pos, int hit_data[6]);
double Gethit_sipm_length_Endcap(dd4hep::Position hit_ddpos, edm4hep::Vector3d hit_pos, int hit_data[6]);
double EdeptoADC(double hit_Edep, double hit_sipm_length);
void SaveData_mapcell(std::array<unsigned long long, 2> cell_key, double hit_Edep, int hit_data[6], edm4hep::Vector3d hit_pos, double hit_time);
void Cut3(); void Cut3();
void Find_anotherlayer(int _i, std::array<unsigned long long, 2> _key1, std::array<unsigned long long, 2> _key2, double _ddposi, int & _anotherlayer_cell_num); void Find_anotherlayer(int barrel_or_endcap, std::array<unsigned long long, 2> key1,
void Save_trkhit(edm4hep::TrackerHitCollection* _trkhitVec, std::array<unsigned long long, 2> _key, int _pdgid, edm4hep::Vector3d _pos); std::array<unsigned long long, 2> key2, double ddposi, int & anotherlayer_cell_num);
void Save_onelayer_signal(edm4hep::TrackerHitCollection* _trkhitVec); void Save_trkhit(edm4hep::TrackerHitCollection* trkhitVec, std::array<unsigned long long, 2> key, int pdgid, edm4hep::Vector3d pos);
void Save_onelayer_signal(edm4hep::TrackerHitCollection* trkhitVec);
...@@ -76,6 +81,7 @@ class MuonDigiAlg : public GaudiAlgorithm ...@@ -76,6 +81,7 @@ class MuonDigiAlg : public GaudiAlgorithm
std::map<std::array<unsigned long long, 2>, double> map_cell_edep; std::map<std::array<unsigned long long, 2>, double> map_cell_edep;
std::map<std::array<unsigned long long, 2>, double> map_cell_adc; std::map<std::array<unsigned long long, 2>, double> map_cell_adc;
std::map<std::array<unsigned long long, 2>, double> map_cell_time;
std::map<std::array<unsigned long long, 2>, int> map_cell_layer; std::map<std::array<unsigned long long, 2>, int> map_cell_layer;
std::map<std::array<unsigned long long, 2>, int> map_cell_slayer; std::map<std::array<unsigned long long, 2>, int> map_cell_slayer;
std::map<std::array<unsigned long long, 2>, int> map_cell_strip; std::map<std::array<unsigned long long, 2>, int> map_cell_strip;
...@@ -125,6 +131,7 @@ class MuonDigiAlg : public GaudiAlgorithm ...@@ -125,6 +131,7 @@ class MuonDigiAlg : public GaudiAlgorithm
Gaudi::Property<double> m_EdepMin{ this, "EdepMin", 0.0001, "Minimum Edep of a mip" }; Gaudi::Property<double> m_EdepMin{ this, "EdepMin", 0.0001, "Minimum Edep of a mip" };
Gaudi::Property<double> m_hit_Edep_min{ this, "HitEdepMin", 0.000001, "Minimum Edep of a mip"}; Gaudi::Property<double> m_hit_Edep_min{ this, "HitEdepMin", 0.000001, "Minimum Edep of a mip"};
Gaudi::Property<double> m_hit_Edep_max{ this, "HitEdepMax", 0.1, "Maximum Edep of a mip"}; Gaudi::Property<double> m_hit_Edep_max{ this, "HitEdepMax", 0.1, "Maximum Edep of a mip"};
Gaudi::Property<double> m_time_resolution{ this, "TimeResolution", 2.0, "Time resolution of a hit, in nano-second ns." };
// number of strips parallel to beam direction // number of strips parallel to beam direction
// in each slayer, each strip width=4cm, so // in each slayer, each strip width=4cm, so
......
...@@ -89,7 +89,7 @@ StatusCode SmearDigiTool::Call(edm4hep::SimTrackerHit simhit, edm4hep::TrackerHi ...@@ -89,7 +89,7 @@ StatusCode SmearDigiTool::Call(edm4hep::SimTrackerHit simhit, edm4hep::TrackerHi
} }
auto e = simhit.getEDep(); auto e = simhit.getEDep();
if (e <= m_eThreshold) return StatusCode::SUCCESS; if (e < m_eThreshold) return StatusCode::SUCCESS;
if (m_randSvc->generator(Rndm::Flat(0, 1))->shoot() > m_efficiency) return StatusCode::SUCCESS; if (m_randSvc->generator(Rndm::Flat(0, 1))->shoot() > m_efficiency) return StatusCode::SUCCESS;
auto t = simhit.getTime(); auto t = simhit.getTime();
......
...@@ -7,10 +7,7 @@ CEPC offline software prototype based on [Key4hep](https://github.com/key4hep). ...@@ -7,10 +7,7 @@ CEPC offline software prototype based on [Key4hep](https://github.com/key4hep).
## Quick start ## Quick start
SSH to lxlogin (Alma Linux 9) and start the container CentOS 7: SSH to lxlogin (Alma Linux 9).
```
$ /cvmfs/container.ihep.ac.cn/bin/hep_container shell CentOS7
```
Before run following commands, please make sure you setup the CVMFS: Before run following commands, please make sure you setup the CVMFS:
...@@ -20,6 +17,7 @@ $ cd CEPCSW ...@@ -20,6 +17,7 @@ $ cd CEPCSW
$ git checkout master # branch name $ git checkout master # branch name
$ source setup.sh $ source setup.sh
$ ./build.sh $ ./build.sh
$ source setup.sh
$ ./run.sh Examples/options/helloalg.py $ ./run.sh Examples/options/helloalg.py
``` ```
...@@ -37,8 +35,3 @@ $ ./run.sh Examples/options/helloalg.py ...@@ -37,8 +35,3 @@ $ ./run.sh Examples/options/helloalg.py
* Reconstruction: Reconstruction * Reconstruction: Reconstruction
## CyberPFA-5.0.1-dev (developing)
* Based on CEPCSW tag tdr 24.12.0