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 (25)
Showing
with 420 additions and 303 deletions
......@@ -37,19 +37,13 @@ stages:
.envvar_template:
variables:
CEPCSW_LCG_RELEASE: LCG
CEPCSW_LCG_PLATFORM: x86_64-centos7-gcc11-opt
CEPCSW_LCG_VERSION: 103.0.2
.build_template:
extends: .envvar_template
stage: build
script:
- bash ./.build.ci.sh
- bash ./.test.ci.sh
CEPCSW_LCG_PLATFORM: x86_64-el9-gcc11-opt
CEPCSW_LCG_VERSION: 105.0.0
# for k8s
.build_template_k8s:
extends: .envvar_template
image: cepc/cepcsw-cvmfs:el9
stage: build
tags:
- k8s # using k8s as runner
......@@ -59,37 +53,11 @@ stages:
- bash ./.build.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: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:
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:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
when: manual
......@@ -97,15 +65,14 @@ build:lcg:el9:k8s:
reports:
junit: build.${CEPCSW_LCG_VERSION}.${CEPCSW_LCG_PLATFORM}/cepcsw-ctest-result.xml
##############################################################################
# Build the docs
##############################################################################
build:docs:k8s:
extends: .build_template_k8s
image: cepc/cepcsw-cvmfs:el9
image: sphinxdoc/sphinx
script:
- bash ./.build.ci.sh docs
- bash build-docs.sh
artifacts:
paths:
- docs/build/html/
......
......@@ -38,7 +38,7 @@
</regions>
<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 -->
</detector>
</detectors>
......
......@@ -40,18 +40,18 @@
<module name="OTKBarrel_module" thickness="OTKBarrel_module_thickness" repeat="4"
width="OTKBarrel_module_width" length_inner="OTKBarrel_module_length_inner"
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_honeycomb" width="100.40*mm" thickness="6000*um" material="GraphiteFoam_OTK" vis="BlackVis"/>
<layer name="cooling_fluid" width="100.40*mm" thickness="35.76*0.105*100*um" material="G4_WATER" vis="BlackVis"/>
<layer name="cooling_tube_wall" width="100.40*mm" thickness="3.560*0.169*100*um" material="G4_Ti" vis="BlackVis"/>
<layer name="carbon_fiber_plane_outer" width="100.40*mm" thickness="0.3*mm" material="CF_ITK" vis="BlackVis"/>
<layer name="glue" width="100.40*mm" thickness="300*um" material="CER_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="GrayVis"/>
<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="GrayVis"/>
<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="GrayVis"/>
<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="pcb_insulating_layers" width="100.40*mm" thickness="28.41*0.07*100*um" material="Polyimide_ITK" vis="BlackVis"/>
<layer name="pcb_metal_layers" width="100.40*mm" thickness="1.436*0.2*100*um" material="G4_Cu" vis="BlackVis"/>
<layer name="other_electronic" width="100.40*mm" thickness="32.6437*0.1*100*um" material="Kapton" vis="BlackVis"/>
<data_aggregation name="first_data_aggregation" width="104*mm" thickness="2*mm" length="7.0*mm" vis="SeeThrough">
<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="OrangeVis"/>
<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="OrangeVis"/>
<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"/>
<DC name="DC-DC" thickness="1*mm" width="10.0*mm" length="3.0*mm" vis="YellowVis"/>
</data_aggregation>
......
......@@ -29,11 +29,11 @@
</shape>
</envelope>
<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="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="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="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="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="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="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"/>
......@@ -44,17 +44,17 @@
<ring name="D4" inner_radius="1668*mm" outer_radius="(1816-0.2)*mm" repeat="16*14" aggregation="2" vis="SeeThrough"/>
</rings>
<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_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="glue_2" thickness="200*um" material="Polyimide_ITK" vis="FTDSupportVis"/>
<layer name="carbon_fiber_plane" thickness="0.3*mm" material="CF_ITK" vis="FTDSupportVis"/>
<layer name="cooling_tube_wall" thickness="3.560*0.169*100*um" material="G4_Ti" vis="FTDSupportVis"/>
<layer name="cooling_fluid" thickness="35.76*0.105*100*um" material="G4_WATER" vis="FTDSupportVis"/>
<layer name="graphite_foam_Honeycom" thickness="6000*um" material="GraphiteFoam_OTK" vis="FTDSupportVis"/>
<layer name="carbon_fiber_back_plate" thickness="0.3*mm" material="CF_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="GrayVis"/>
<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="GrayVis"/>
<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="GrayVis"/>
</layers>
</detector>
</detectors>
......
......@@ -44,7 +44,7 @@
<detectors>
<detector id="DetID_HCAL_ENDCAP"
name="HcalEndcaps"
name="HcalEndcap"
type="SHcalSc04_Endcaps_v02"
readout="HcalEndcapsCollection"
vis="Invisible"
......
......@@ -24,13 +24,13 @@
<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_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"/>
</support>
<sensor>
<slice name="GlueF" material="CER_ITK" thickness="200*um" vis="YellowVis"/>
<slice name="Sensor" material="G4_Si" thickness="150*um" sensitive="true" vis="GreenVis"/>
<slice name="GlueF" material="CER_ITK" thickness="200*um" vis="SeeThrough"/>
<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="FPC_Insulating_layers" material="Polyimide_ITK" thickness="100*um" vis="SeeThrough"/>
<slice name="FPC_metal_layer" material="G4_Al" thickness="50*um" vis="SeeThrough"/>
......
......@@ -18,8 +18,10 @@
<!--stitching parameter-->
<constant name="VXD_sensor_backbone" value="0.055*mm"/>
<constant name="VXD_sensor_switches" value="0.019*mm"/>
<constant name="VXD_sensor_bias" value="0.106*mm"/>
<constant name="VXD_sensor_periphery" value="0.177*mm"/>
<constant name="VXD_sensor_bias" value="0.106*mm"/>
<constant name="VXD_sensor_periphery" value="0.177*mm"/>
<!--equivalent to CFRP_CMS-->
<constant name="VXD_flex_thickness" value="1.3*um"/>
</define>
<detectors>
......@@ -41,8 +43,8 @@
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"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="45*um" material="CFRP_CMS"/>
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+45*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
......@@ -52,8 +54,8 @@
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"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="45*um" material="CFRP_CMS"/>
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+45*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
......@@ -65,8 +67,8 @@
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"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="32*um" material="CFRP_CMS"/>
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+32*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
......@@ -76,8 +78,8 @@
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"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="32*um" material="CFRP_CMS"/>
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+32*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
......@@ -89,8 +91,8 @@
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"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="31*um" material="CFRP_CMS"/>
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+31*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
......@@ -100,8 +102,8 @@
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"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="31*um" material="CFRP_CMS"/>
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+31*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
......@@ -113,8 +115,8 @@
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"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="29*um" material="CFRP_CMS"/>
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+29*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
......@@ -124,8 +126,8 @@
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"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="29*um" material="CFRP_CMS"/>
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+29*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
......@@ -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-->
</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"
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>
</layer>
</detector>
......
......@@ -882,7 +882,7 @@
<fraction n="1.0" ref="Graphite_ITK"/>
<fraction n="1.0" ref="CF_ITK"/>
</material>
Graphite_ITK
</materials>
<surfaces>
......
......@@ -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_v05 | Use Ref-Det ECAL and HCAL | SIT+TPC+SET | crystal | Glass| Scint | developing |
| ------------- | -----------------------------|-------------|---------|------|-------|----------------|
# CRD detector models - Overview
The following CRD detector models are available in CEPCSW
| 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 |
| TDR_o1_v01 | stitching and planar VXD, TPC| ITK+TPC+OTK | crystal | Glass| Scint | developing |
| 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 |
| TDR_o2_v02 | short barrel vertex, DC | SIT+DC +SET | crystal | Glass| Scint | developing |
## Details
......@@ -90,7 +77,40 @@ The following CRD detector models are available in CEPCSW
- compact files:
- [./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)
......
......@@ -72,13 +72,13 @@ EcalDigi.SkipEvt = 0
EcalDigi.Seed = 2079
#Digitalization parameters
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.UseRealisticDigi = 1
# scintillation
EcalDigi.UseDigiScint = 1
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
# 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
......@@ -86,14 +86,18 @@ EcalDigi.EcalSiPMPDE = 0.25 # NDL-EQR06, PDE 0.25
EcalDigi.EcalSiPMDCR = 0 # NDL-EQR06, dark count rate 2500000 [Hz]
EcalDigi.EcalTimeInterval = 0. # Time interval 0.000002 [s]. DCR*TimeInterval = dark count noise
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.EcalSiPMNoiseSigma = 0 # 0
# ADC
EcalDigi.ADC = 8192 # 13-bit, 8192
EcalDigi.ADCSwitch = 8000 # 8000
EcalDigi.Pedestal = 50 # Pedestal 50 ADC
EcalDigi.GainRatio_12 = 50 # Gain ratio 50
EcalDigi.GainRatio_23 = 60 # Gain ratio 60
EcalDigi.GainRatio_12 = 30 # Gain ratio 30
EcalDigi.GainRatio_23 = 10 # Gain ratio 10
EcalDigi.EcalASICNoiseSigma = 4
EcalDigi.EcalFEENoiseSigma = 5
EcalDigi.ADCNonLinearity = 0 # ADC non-linearity 0
# temperature control
EcalDigi.UseCryTemp = 0
EcalDigi.UseCryTempCor = 0
......
......@@ -39,12 +39,12 @@ inp = PodioInput("InputReader")
inp.collections = [
"ECALBarrel",
"ECALBarrelParticleAssoCol",
# "ECALEndcaps",
# "ECALEndcapsParticleAssoCol",
"ECALEndcaps",
"ECALEndcapsParticleAssoCol",
"HCALBarrel",
"HCALBarrelParticleAssoCol",
# "HCALEndcaps",
# "HCALEndcapsParticleAssoCol",
"HCALEndcaps",
"HCALEndcapsParticleAssoCol",
"MCParticle",
"CompleteTracks",
"CompleteTracksParticleAssociation",
......@@ -60,7 +60,7 @@ CyberPFAlg.Seed = 1024
CyberPFAlg.BField = 3.
CyberPFAlg.Debug = 0
CyberPFAlg.SkipEvt = 0
CyberPFAlg.WriteAna = 1
CyberPFAlg.WriteAna = 0
CyberPFAlg.AnaFileName = "RecAnaTuple_TDR_o1_v01.root"
CyberPFAlg.UseMCPTrack = 0
CyberPFAlg.UseTruthMatchTrack = 0
......@@ -75,18 +75,12 @@ CyberPFAlg.HcalNeutralCalib = 4.0
CyberPFAlg.MCParticleCollection = "MCParticle"
CyberPFAlg.TrackCollections = ["CompleteTracks"]
CyberPFAlg.MCRecoTrackParticleAssociationCollection = "CompleteTracksParticleAssociation"
#CyberPFAlg.ECalCaloHitCollections = ["ECALBarrel","ECALEndcaps"]
#CyberPFAlg.ECalReadOutNames = ["EcalBarrelCollection","EcalEndcapsCollection"]
#CyberPFAlg.ECalMCPAssociationName = ["ECALBarrelParticleAssoCol", "ECALEndcapsParticleAssoCol"]
#CyberPFAlg.HCalCaloHitCollections = ["HCALBarrel", "HCALEndcaps"]
#CyberPFAlg.HCalReadOutNames = ["HcalBarrelCollection", "HcalEndcapsCollection"]
#CyberPFAlg.HCalMCPAssociationName = ["HCALBarrelParticleAssoCol", "HCALEndcapsParticleAssoCol"]
CyberPFAlg.ECalCaloHitCollections = ["ECALBarrel"]
CyberPFAlg.ECalReadOutNames = ["EcalBarrelCollection"]
CyberPFAlg.ECalMCPAssociationName = ["ECALBarrelParticleAssoCol"]
CyberPFAlg.HCalCaloHitCollections = ["HCALBarrel"]
CyberPFAlg.HCalReadOutNames = ["HcalBarrelCollection"]
CyberPFAlg.HCalMCPAssociationName = ["HCALBarrelParticleAssoCol"]
CyberPFAlg.ECalCaloHitCollections = ["ECALBarrel","ECALEndcaps"]
CyberPFAlg.ECalReadOutNames = ["EcalBarrelCollection","EcalEndcapsCollection"]
CyberPFAlg.ECalMCPAssociationName = ["ECALBarrelParticleAssoCol", "ECALEndcapsParticleAssoCol"]
CyberPFAlg.HCalCaloHitCollections = ["HCALBarrel", "HCALEndcaps"]
CyberPFAlg.HCalReadOutNames = ["HcalBarrelCollection", "HcalEndcapsCollection"]
CyberPFAlg.HCalMCPAssociationName = ["HCALBarrelParticleAssoCol", "HCALEndcapsParticleAssoCol"]
##--- Output collections ---
CyberPFAlg.OutputPFO = "outputPFO";
......@@ -113,8 +107,8 @@ CyberPFAlg.AlgParNames = [ ["InputECALBars","OutputECAL1DClusters","OutputECALHa
["OutputAxisName"], #6
["ReadinAxisName", "OutputClusName", "OutputTowerName"], #9
["ReadinHFClusterName", "ReadinTowerName","OutputClusterName"], #11
["InputHCALHits", "OutputHCALClusters"], #12
["DoECALClustering","DoHCALClustering","InputHCALHits","OutputHCALClusters"], #15
["OutputHCALClusters"], #12
["DoECALClustering","DoHCALClustering","OutputHCALClusters"], #15
["ReadinECALClusterName", "ReadinHCALClusterName", "OutputCombPFO"], #16
["ECALChargedCalib", "HCALChargedCalib", "ECALNeutralCalib", "HCALNeutralCalib"] ]#17
CyberPFAlg.AlgParTypes = [ ["string","string","string"],#1
......@@ -125,8 +119,8 @@ CyberPFAlg.AlgParTypes = [ ["string","string","string"],#1
["string"], #6
["string","string","string"], #9
["string","string","string"], #11
["string", "string"], #12
["bool","bool","string","string"], #15
["string"], #12
["bool","bool","string"], #15
["string","string","string"], #16
["double","double", "double","double"] ]#17
CyberPFAlg.AlgParValues = [ ["BarCol","Cluster1DCol","HalfClusterCol"],#1
......@@ -137,8 +131,8 @@ CyberPFAlg.AlgParValues = [ ["BarCol","Cluster1DCol","HalfClusterCol"],#1
["MergedAxis"], #6
["MergedAxis","ESHalfCluster","ESTower"], #9
["ESHalfCluster","ESTower","EcalCluster"], #11
["HCALBarrel", "SimpleHCALCluster"], #12
["0","1","HCALBarrel","HCALCluster"], #15
["SimpleHCALCluster"], #12
["0","1","HCALCluster"], #15
["EcalCluster", "SimpleHCALCluster", "outputPFO"], #16
["1.26","4.", "1.", "4."] ]#17
......@@ -149,6 +143,7 @@ pid.OutputPFOName = "CyberPFOPID"
from Configurables import GenMatch
genmatch = GenMatch("GenMatch")
genmatch.InputPFOs = "CyberPFOPID"
genmatch.nJets = 2
genmatch.R = 0.6
genmatch.OutputFile = "Jets_TDR_o1_v01.root"
......
......@@ -43,6 +43,7 @@ from Configurables import SLCIORdr
from Configurables import HepMCRdr
from Configurables import GenPrinter
########### Particle Gun ##############
gun = GtGunTool("GtGunTool")
gun.PositionXs = [0]
gun.PositionYs = [0]
......@@ -60,6 +61,13 @@ genprinter = GenPrinter("GenPrinter")
genalg = GenAlgo("GenAlgo")
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
##############################################################################
......@@ -68,8 +76,8 @@ detsimsvc = DetSimSvc("DetSimSvc")
from Configurables import Edm4hepWriterAnaElemTool
edm4hep_writer = Edm4hepWriterAnaElemTool("Edm4hepWriterAnaElemTool")
#edm4hep_writer.TrackerCollections = ["VXD", "ITKBarrel", "ITKEndcap", "TPC", "TPCLowPt", "TPCSpacePoint",
# "OTKBarrel", "OTKEndcap", "COIL", "MuonBarrel", "MuonEndcap"]
edm4hep_writer.TrackerCollections = ["VXD", "ITKBarrel", "ITKEndcap", "TPC", "TPCLowPt", "TPCSpacePoint",
"OTKBarrel", "OTKEndcap", "COIL", "MuonBarrel", "MuonEndcap"]
from Configurables import DetSimAlg
detsimalg = DetSimAlg("DetSimAlg")
......@@ -101,6 +109,15 @@ dedx_simtool.max_step = 1#mm
dedx_simtool.save_mc = True
#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
evtseeder = MarlinEvtSeeder("EventSeeder")
......
......@@ -76,6 +76,7 @@ from Configurables import SmearDigiTool,SiTrackerDigiAlg
vxdtool = SmearDigiTool("VXD")
vxdtool.ResolutionU = [0.005]
vxdtool.ResolutionV = [0.005]
vxdtool.EnergyThreshold = 0.00001 #GeV
#vxdtool.OutputLevel = DEBUG
digiVXD = SiTrackerDigiAlg("VXDDigi")
......@@ -89,6 +90,7 @@ digiVXD.DigiTool = "SmearDigiTool/VXD"
itkbtool = SmearDigiTool("ITKBarrel")
itkbtool.ResolutionU = [0.008]
itkbtool.ResolutionV = [0.040]
itkbtool.EnergyThreshold = 0.00005 #GeV
#itkbtool.OutputLevel = DEBUG
digiITKB = SiTrackerDigiAlg("ITKBarrelDigi")
......@@ -102,6 +104,7 @@ digiITKB.DigiTool = "SmearDigiTool/ITKBarrel"
itketool = SmearDigiTool("ITKEndcap")
itketool.ResolutionU = [0.008]
itketool.ResolutionV = [0.040]
itketool.EnergyThreshold = 0.00005 #GeV
#itketool.OutputLevel = DEBUG
digiITKE = SiTrackerDigiAlg("ITKEndcapDigi")
......@@ -115,6 +118,7 @@ digiITKE.DigiTool = "SmearDigiTool/ITKEndcap"
otkbtool = SmearDigiTool("OTKBarrel")
otkbtool.ResolutionU = [0.010]
otkbtool.ResolutionV = [1.000]
otkbtool.EnergyThreshold = 0.00005 #GeV
#otkbtool.OutputLevel = DEBUG
digiOTKB = SiTrackerDigiAlg("OTKBarrelDigi")
......@@ -128,6 +132,7 @@ digiOTKB.DigiTool = "SmearDigiTool/OTKBarrel"
otketool = SmearDigiTool("OTKEndcap")
otketool.ResolutionU = [0.010]
otketool.ResolutionV = [1.000]
otketool.EnergyThreshold = 0.00005 #GeV
#otketool.OutputLevel = DEBUG
digiOTKE = SiTrackerDigiAlg("OTKEndcapDigi")
......@@ -166,6 +171,7 @@ digiMuon.SiPMEff = 1
digiMuon.EdepMin = 0.0 # no cut on GeV energy deposition
digiMuon.HitEdepMin = 6.0 # ADC counts
digiMuon.HitEdepMax = -1 # ADC counts, -1 means no upper cut
digiMuon.TimeResolution = 2.0 # Digi hit time resolution, in unit ns
#digiMuon.OutputLevel = DEBUG
#########################################
......@@ -273,7 +279,8 @@ full.OutputTracks = "CompleteTracks" # default name
full.FTDHitToTrackDistance = 5.
full.SITHitToTrackDistance = 3.
full.SETHitToTrackDistance = 5.
full.ETDHitToTrackDistance = 15.
#according to particle gun
full.ETDHitToTrackDistance = 40.
full.MinChi2ProbForSiliconTracks = 0
full.MaxChi2PerHit = 200
full.ForceSiTPCMerging = True
......@@ -293,7 +300,7 @@ tpr = TrackParticleRelationAlg("Track2Particle")
tpr.MCParticleCollection = "MCParticle"
tpr.TrackList = ["CompleteTracks"]
tpr.TrackerAssociationList = ["VXDTrackerHitAssociation", "ITKBarrelTrackerHitAssociation", "ITKEndcapTrackerHitAssociation",
"OTKBarrelTrackerHitAssociation", "OTKEndcapTrackerHitAssociation"]
"OTKBarrelTrackerHitAssociation", "OTKEndcapTrackerHitAssociation", "TPCTrackerHitAss"]
#tpr.OutputLevel = DEBUG
......
......@@ -552,15 +552,17 @@ static Ref_t create_detector(Detector& theDetector,
sectionEnd.rOuter = sectionEnd.rInner + pipeThicknessEnd;
sectionEnd.zPos = zend ;
if(beampipeData->sections.size()!=0){
ConicalSupportData::Section last = beampipeData->sections.back();
if(last.rInner != section.rInner || last.rOuter != section.rOuter){
section.zPos = zstart + 1e-9*dd4hep::mm ;
beampipeData->sections.push_back( section );
if (beampipeData->sections.size()<4) {
if (beampipeData->sections.size()!=0) {
ConicalSupportData::Section last = beampipeData->sections.back();
if (last.rInner != section.rInner || last.rOuter != section.rOuter) {
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
......
......@@ -135,7 +135,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
std::string sensor_name = ring_vol_name + "_petal";
Volume sensor_vol(sensor_name, sensor_box, air);
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 glue_thickness = 0;
......@@ -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;
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_y = r_offset * sin(angle);
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
positive_even_sensor_det.setPlacement(pv);
ringPosF_det.add(positive_even_sensor_det);
angle -= M_PI / nmodule;
angle += M_PI / nmodule;
rotated_x = r_offset * cos(angle);
rotated_y = r_offset * sin(angle);
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
ringPosF_det.setPlacement(pv);
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));
ringNegR_det.setPlacement(pv);
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));
ringNegF_det.setPlacement(pv);
layerNeg_det.add(ringNegF_det);
......
......@@ -528,8 +528,8 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h
topLayer.zHalfSupport = support_length / 2.0;
topLayer.distanceSensitive = ladder_distance + support_height / 2.0 + flex_thickness;
topLayer.thicknessSensitive = sensor_thickness;
topLayer.offsetSensitive = ladder_offset + (support_width/2.0 - sensor_active_width/2.0);
topLayer.widthSensitive = sensor_active_width;
topLayer.offsetSensitive = ladder_offset + (support_width/2.0 - sensor_active_width/2.0 - sensor_dead_width/2.0);
topLayer.widthSensitive = sensor_active_width + sensor_dead_width;
topLayer.zHalfSensitive = (n_sensors_per_side*(sensor_active_len + dead_gap) - dead_gap) / 2.0;
bottomLayer.ladderNumber = n_ladders;
......@@ -543,8 +543,8 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h
bottomLayer.zHalfSupport = support_length / 2.0;
bottomLayer.distanceSensitive = ladder_distance - support_height / 2.0 - sensor_thickness - flex_thickness;
bottomLayer.thicknessSensitive = sensor_thickness;
bottomLayer.offsetSensitive = ladder_offset + (support_width/2.0 - sensor_active_width/2.0);
bottomLayer.widthSensitive = sensor_active_width;
bottomLayer.offsetSensitive = ladder_offset + (support_width/2.0 - sensor_active_width/2.0 - sensor_dead_width/2.0);
bottomLayer.widthSensitive = sensor_active_width + sensor_dead_width;
bottomLayer.zHalfSensitive = (n_sensors_per_side*(sensor_active_len + dead_gap) - dead_gap) / 2.0;
compositeData->layersPlanar.push_back(bottomLayer);
......
......@@ -49,17 +49,22 @@ class MuonDigiAlg : public GaudiAlgorithm
virtual StatusCode initialize() ;
virtual StatusCode execute() ;
virtual StatusCode finalize() ;
void MuonHandle(int _i); // 2->Barrel 0->Endcap
void MuonHandle(int barrel_or_endcap); // 2->Barrel 0->Endcap
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);
double Gethit_sipm_length_Barrel(dd4hep::Position _ddpos, edm4hep::Vector3d _pos, int _message[6]);
double Gethit_sipm_length_Endcap(dd4hep::Position _ddpos, edm4hep::Vector3d _pos, int _message[6]);
double EdeptoADC(double _Edep, double _hit_sipm_length);
void SaveData_mapcell(std::array<unsigned long long, 2> _key, double _Edep, int _message[6], edm4hep::Vector3d _pos);
void GetSimHit(edm4hep::SimTrackerHit hit_simhit, dd4hep::DDSegmentation::BitFieldCoder* hit_m_decoder, int hit_i,
int hit_data[6], double & hit_Edep, unsigned long long & hit_cellid, double & hit_xydist,
edm4hep::Vector3d & hit_pos, dd4hep::Position & hit_ddpos,
std::array<unsigned long long, 2> & cell_key, double & cell_mcpz, double & hit_time);
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 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 Save_trkhit(edm4hep::TrackerHitCollection* _trkhitVec, std::array<unsigned long long, 2> _key, int _pdgid, edm4hep::Vector3d _pos);
void Save_onelayer_signal(edm4hep::TrackerHitCollection* _trkhitVec);
void Find_anotherlayer(int barrel_or_endcap, std::array<unsigned long long, 2> key1,
std::array<unsigned long long, 2> key2, double ddposi, int & anotherlayer_cell_num);
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
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_time;
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_strip;
......@@ -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_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_time_resolution{ this, "TimeResolution", 2.0, "Time resolution of a hit, in nano-second ns." };
// number of strips parallel to beam direction
// in each slayer, each strip width=4cm, so
......
......@@ -89,7 +89,7 @@ StatusCode SmearDigiTool::Call(edm4hep::SimTrackerHit simhit, edm4hep::TrackerHi
}
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;
auto t = simhit.getTime();
......
......@@ -7,10 +7,7 @@ CEPC offline software prototype based on [Key4hep](https://github.com/key4hep).
## Quick start
SSH to lxlogin (Alma Linux 9) and start the container CentOS 7:
```
$ /cvmfs/container.ihep.ac.cn/bin/hep_container shell CentOS7
```
SSH to lxlogin (Alma Linux 9).
Before run following commands, please make sure you setup the CVMFS:
......@@ -20,6 +17,7 @@ $ cd CEPCSW
$ git checkout master # branch name
$ source setup.sh
$ ./build.sh
$ source setup.sh
$ ./run.sh Examples/options/helloalg.py
```
......@@ -37,8 +35,3 @@ $ ./run.sh Examples/options/helloalg.py
* Reconstruction: Reconstruction
## CyberPFA-5.0.1-dev (developing)
* Based on CEPCSW tag tdr 24.12.0