Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PPS] Timing detector preparation for 2021 conditions #30252

Closed
wants to merge 37 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
6dd00b4
change the way CMSSW calculates diamond detectors
Vetchu Aug 6, 2019
18d105a
correct diamond detector software
Vetchu Aug 6, 2019
8fd4ed3
minor naming correction
Vetchu Aug 6, 2019
f83aff8
fix array
Vetchu Aug 6, 2019
107e308
CMS style
forthommel Jun 15, 2020
cfda577
Sanity check on geometry hierarchy
forthommel Jun 15, 2020
f14b04e
Generalised the tracks reconstruction algorithms multiplicity
forthommel Jun 15, 2020
eeb4369
Added a hash function for CTPPSDetId objects
forthommel Jun 15, 2020
35a79b2
Code-format
forthommel Jun 15, 2020
d4dcf4b
One algo per station, not per channel
forthommel Jun 15, 2020
8428687
Algorithm launched after all hits are fed
forthommel Jun 15, 2020
d8c5b00
Added 2021-like geometry.
jan-kaspar Jun 5, 2020
afd94a3
Added a new legacy diamond hierarchy flag
forthommel Jun 18, 2020
508ebf3
Added legacy diamond hierarchy modifier for Run 2 eras
forthommel Jun 18, 2020
370a62d
Added the legacy flag to the configuration validator
forthommel Jun 18, 2020
dc071c9
Dropped unnecessary printout
forthommel Jun 18, 2020
3b599f6
Code-format
forthommel Jun 18, 2020
f339990
change the way CMSSW calculates diamond detectors
Vetchu Aug 6, 2019
1ebccbf
correct diamond detector software
Vetchu Aug 6, 2019
d48e2be
Generalised the tracks reconstruction algorithms multiplicity
forthommel Jun 15, 2020
07860f9
Added a hash function for CTPPSDetId objects
forthommel Jun 15, 2020
5f672e7
Code-format
forthommel Jun 15, 2020
4ca7308
One algo per station, not per channel
forthommel Jun 15, 2020
88b7b3c
Algorithm launched after all hits are fed
forthommel Jun 15, 2020
4468386
Added 2021-like geometry.
jan-kaspar Jun 5, 2020
6ecbf4c
Indentation fix
forthommel Jun 15, 2020
9c68cce
Formatted XML files
forthommel Jun 18, 2020
546de36
Added eval=true to ConstantsSection of 2021 scenario DDLs
forthommel Jun 19, 2020
e55224f
Updated the paths in the DDL parser steering component
forthommel Jun 23, 2020
b5a0a9a
Dropped z sign mitigation for diamond in direct proton simulation
forthommel Jul 14, 2020
023327d
Dropped z sign mitigation for diamond in proton reconstruction algori…
forthommel Jul 14, 2020
9670134
Added copyNumber field to all PosPart
forthommel Jul 14, 2020
4df2045
Dropped the CTPPS prefix for timing detectors assembly
forthommel Jul 14, 2020
6e5b44f
Updated path to timing stations assembly files
forthommel Jul 14, 2020
557b773
Swapped z sign in timing station assemblies
forthommel Jul 15, 2020
bb450e4
Renaming and cleaning up
forthommel Sep 15, 2020
ccc9158
Matched 2021 scenario's left/right stations to DD4Hep-validated ones.…
forthommel Sep 15, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions DataFormats/CTPPSDetId/interface/CTPPSDetId.h
Original file line number Diff line number Diff line change
Expand Up @@ -153,4 +153,13 @@ class CTPPSDetId : public DetId {

std::ostream &operator<<(std::ostream &os, const CTPPSDetId &id);

namespace std {
template <>
struct hash<CTPPSDetId> {
typedef CTPPSDetId argument_type;
typedef std::size_t result_type;
result_type operator()(const argument_type &id) const noexcept { return std::hash<uint64_t>()(id.rawId()); }
};
} // namespace std

#endif
167 changes: 167 additions & 0 deletions Geometry/VeryForwardData/data/2021/v1/RP_220_Left_Station.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
<?xml version="1.0" encoding="UTF-8"?>
<DDDefinition xmlns="http://www.cern.ch/cms/DDL"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../DDLSchema/DDLSchema.xsd">
<ConstantsSection label="RP_220_Left_Station.xml" eval="true">
<Constant name="RP_220_Left_Station_Length" value="6588*mm"/>
<!--Positions calculated from the wall closer to IP point-->
<Constant name="RP_220_Left_Prim_Vert_z" value="608*mm"/>
<Constant name="RP_220_Left_Prim_Hor_z" value="1058*mm"/>
<Constant name="RP_220_Left_Sec_Hor_z" value="5530*mm"/>
<Constant name="RP_220_Left_Sec_Vert_z" value="5980*mm"/>

<Constant name="RP_220_Left_Hor_Vac_Length" value="[RP_Device:RP_Device_Envelope_Radius]+[RP_Device:RP_Device_Length_y]/2-[RP_Horizontal_Device:RP_Device_Hor_Closed_Wall_Thick_Int]"/>
</ConstantsSection>

<SolidSection label="RP_220_Left_Station.xml">
<Tube rMin="0*mm" rMax="[RP_Device:RP_Device_Envelope_Radius]*1.1" dz="[RP_220_Left_Station_Length]/2" name="RP_220_Left_Station"/>
<Tube rMin="[RP_Device:RP_Device_Beam_Hole_Diam]/2" rMax="[RP_Device:RP_Device_Beam_Hole_Diam]/2+[RP_Device:RP_Device_Wall_Thickness]" dz="([RP_220_Left_Prim_Vert_z]-[RP_Device:RP_Device_Length_z]/2)/2" name="RP_220_Left_Station_Tube_1"/>
<Tube rMin="[RP_Device:RP_Device_Beam_Hole_Diam]/2" rMax="[RP_Device:RP_Device_Beam_Hole_Diam]/2+[RP_Device:RP_Device_Wall_Thickness]" dz="([RP_220_Left_Prim_Hor_z]-[RP_220_Left_Prim_Vert_z]-[RP_Device:RP_Device_Length_z])/2" name="RP_220_Left_Station_Tube_2"/>
<Tube rMin="[RP_Device:RP_Device_Beam_Hole_Diam]/2" rMax="[RP_Device:RP_Device_Beam_Hole_Diam]/2+[RP_Device:RP_Device_Wall_Thickness]" dz="([RP_220_Left_Sec_Hor_z]-[RP_220_Left_Prim_Hor_z]-[RP_Device:RP_Device_Length_z])/2" name="RP_220_Left_Station_Tube_3"/>
<Tube rMin="[RP_Device:RP_Device_Beam_Hole_Diam]/2" rMax="[RP_Device:RP_Device_Beam_Hole_Diam]/2+[RP_Device:RP_Device_Wall_Thickness]" dz="([RP_220_Left_Sec_Vert_z]-[RP_220_Left_Sec_Hor_z]-[RP_Device:RP_Device_Length_z])/2" name="RP_220_Left_Station_Tube_4"/>
<Tube rMin="[RP_Device:RP_Device_Beam_Hole_Diam]/2" rMax="[RP_Device:RP_Device_Beam_Hole_Diam]/2+[RP_Device:RP_Device_Wall_Thickness]" dz="([RP_220_Left_Station_Length]-[RP_220_Left_Sec_Vert_z]-[RP_Device:RP_Device_Length_z]/2)/2" name="RP_220_Left_Station_Tube_5"/>
<Tube rMin="0*mm" rMax="[RP_Device:RP_Device_Beam_Hole_Diam]/2" dz="[RP_220_Left_Station_Length]/2" name="RP_220_Left_Station_Vacuum_1"/>
<Tube rMin="0*mm" rMax="[RP_Device:RP_Device_RP_Hole_Diam]/2" dz="[RP_Device:RP_Device_Envelope_Radius]" name="RP_220_Left_Station_Vert_Vacuum"/>
<UnionSolid name="RP_220_Left_Station_Vacuum_2">
<rSolid name="RP_220_Left_Station_Vacuum_1"/>
<rSolid name="RP_220_Left_Station_Vert_Vacuum"/>
<rRotation name="RP_Transformations:RP_x_90_rot"/>
<Translation x="0*mm" y="0*mm" z="-(-[RP_220_Left_Station_Length]/2+[RP_220_Left_Prim_Vert_z])"/>
</UnionSolid>
<UnionSolid name="RP_220_Left_Station_Vacuum_3">
<rSolid name="RP_220_Left_Station_Vacuum_2"/>
<rSolid name="RP_220_Left_Station_Vert_Vacuum"/>
<rRotation name="RP_Transformations:RP_x_90_rot"/>
<Translation x="0*mm" y="0*mm" z="-(-[RP_220_Left_Station_Length]/2+[RP_220_Left_Sec_Vert_z])"/>
</UnionSolid>
<Tube rMin="0*mm" rMax="[RP_Device:RP_Device_RP_Hole_Diam]/2" dz="[RP_220_Left_Hor_Vac_Length]/2" name="RP_220_Left_Station_Hor_Vacuum"/>
<UnionSolid name="RP_220_Left_Station_Vacuum_4">
<rSolid name="RP_220_Left_Station_Vacuum_3"/>
<rSolid name="RP_220_Left_Station_Hor_Vacuum"/>
<rRotation name="RP_Transformations:RP_y_90_rot"/>
<Translation x="-(-[RP_220_Left_Hor_Vac_Length]/2+[RP_Device:RP_Device_Length_y]/2-[RP_Horizontal_Device:RP_Device_Hor_Closed_Wall_Thick_Int])" y="0*mm" z="-(-[RP_220_Left_Station_Length]/2+[RP_220_Left_Prim_Hor_z])"/>
</UnionSolid>
<UnionSolid name="RP_220_Left_Station_Vacuum_5">
<rSolid name="RP_220_Left_Station_Vacuum_4"/>
<rSolid name="RP_220_Left_Station_Hor_Vacuum"/>
<rRotation name="RP_Transformations:RP_y_90_rot"/>
<Translation x="-(-[RP_220_Left_Hor_Vac_Length]/2+[RP_Device:RP_Device_Length_y]/2-[RP_Horizontal_Device:RP_Device_Hor_Closed_Wall_Thick_Int])" y="0*mm" z="-(-[RP_220_Left_Station_Length]/2+[RP_220_Left_Sec_Hor_z])"/>
</UnionSolid>
</SolidSection>

<LogicalPartSection label="RP_220_Left_Station.xml">
<LogicalPart name="RP_220_Left_Station">
<rSolid name="RP_220_Left_Station"/>
<rMaterial name="RP_Materials:Air"/>
</LogicalPart>
<LogicalPart name="RP_220_Left_Station_Tube_1">
<rSolid name="RP_220_Left_Station_Tube_1"/>
<rMaterial name="RP_Materials:AISI-316L-Steel"/>
</LogicalPart>
<LogicalPart name="RP_220_Left_Station_Tube_2">
<rSolid name="RP_220_Left_Station_Tube_2"/>
<rMaterial name="RP_Materials:AISI-316L-Steel"/>
</LogicalPart>
<LogicalPart name="RP_220_Left_Station_Tube_3">
<rSolid name="RP_220_Left_Station_Tube_3"/>
<rMaterial name="RP_Materials:AISI-316L-Steel"/>
</LogicalPart>
<LogicalPart name="RP_220_Left_Station_Tube_4">
<rSolid name="RP_220_Left_Station_Tube_4"/>
<rMaterial name="RP_Materials:AISI-316L-Steel"/>
</LogicalPart>
<LogicalPart name="RP_220_Left_Station_Tube_5">
<rSolid name="RP_220_Left_Station_Tube_5"/>
<rMaterial name="RP_Materials:AISI-316L-Steel"/>
</LogicalPart>
<LogicalPart name="RP_220_Left_Station_Vacuum_5">
<rSolid name="RP_220_Left_Station_Vacuum_5"/>
<rMaterial name="RP_Materials:RP_Primary_Vacuum"/>
</LogicalPart>
</LogicalPartSection>

<PosPartSection label="RP_220_Left_Station.xml">
<PosPart copyNumber="1">
<rParent name="RP_220_Left_Station"/>
<rChild name="RP_Vertical_Device:RP_Device_Vert_Corp_3"/>
<Translation x="0*mm" y="0*mm" z="-(-[RP_220_Left_Station_Length]/2+[RP_220_Left_Prim_Vert_z])"/>
</PosPart>
<PosPart copyNumber="2">
<rParent name="RP_220_Left_Station"/>
<rChild name="RP_Vertical_Device:RP_Device_Vert_Corp_3"/>
<Translation x="0*mm" y="0*mm" z="-(-[RP_220_Left_Station_Length]/2+[RP_220_Left_Sec_Vert_z])"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="RP_220_Left_Station"/>
<rChild name="RP_Horizontal_Device:RP_Device_Hor_Corp_3"/>
<Translation x="0*mm" y="0*mm" z="-(-[RP_220_Left_Station_Length]/2+[RP_220_Left_Prim_Hor_z])"/>
</PosPart>
<PosPart copyNumber="2">
<rParent name="RP_220_Left_Station"/>
<rChild name="RP_Horizontal_Device:RP_Device_Hor_Corp_3"/>
<Translation x="0*mm" y="0*mm" z="-(-[RP_220_Left_Station_Length]/2+[RP_220_Left_Sec_Hor_z])"/>
</PosPart>

<PosPart copyNumber="1">
<rParent name="RP_220_Left_Station"/>
<rChild name="RP_220_Left_Station_Tube_1"/>
<Translation x="0*mm" y="0*mm" z="-(-[RP_220_Left_Station_Length]/2+([RP_220_Left_Prim_Vert_z]-[RP_Device:RP_Device_Length_z]/2)/2)"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="RP_220_Left_Station"/>
<rChild name="RP_220_Left_Station_Tube_2"/>
<Translation x="0*mm" y="0*mm" z="-(-[RP_220_Left_Station_Length]/2+([RP_220_Left_Prim_Vert_z]+[RP_220_Left_Prim_Hor_z])/2)"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="RP_220_Left_Station"/>
<rChild name="RP_220_Left_Station_Tube_4"/>
<Translation x="0*mm" y="0*mm" z="-(-[RP_220_Left_Station_Length]/2+([RP_220_Left_Sec_Hor_z]+[RP_220_Left_Sec_Vert_z])/2)"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="RP_220_Left_Station"/>
<rChild name="RP_220_Left_Station_Tube_5"/>
<Translation x="0*mm" y="0*mm" z="-([RP_220_Left_Station_Length]/2-([RP_220_Left_Station_Length]-[RP_220_Left_Sec_Vert_z]-[RP_Device:RP_Device_Length_z]/2)/2)"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="RP_220_Left_Station"/>
<rChild name="RP_220_Left_Station_Vacuum_5"/>
</PosPart>

<PosPart copyNumber="20">
<rParent name="RP_220_Left_Station_Vacuum_5"/>
<rChild name="RP_Box_020:RP_box_primary_vacuum"/>
<rRotation name="RP_Transformations:RP_y_180_rot"/>
<Translation x="0*mm" y="[RP_Dist_Beam_Cent:RP_220_Left_Det_Dist_0]+[RP_Box:RP_Box_primary_vacuum_y]/2" z="-([RP_220_Left_Prim_Vert_z]-[RP_220_Left_Station_Length]/2)"/>
</PosPart>
<PosPart copyNumber="21">
<rParent name="RP_220_Left_Station_Vacuum_5"/>
<rChild name="RP_Box_021:RP_box_primary_vacuum"/>
<rRotation name="RP_Transformations:RP_180_z_180_y_rot"/>
<Translation x="0*mm" y="-[RP_Dist_Beam_Cent:RP_220_Left_Det_Dist_1]-[RP_Box:RP_Box_primary_vacuum_y]/2" z="-([RP_220_Left_Prim_Vert_z]-[RP_220_Left_Station_Length]/2)"/>
</PosPart>
<PosPart copyNumber="22">
<rParent name="RP_220_Left_Station_Vacuum_5"/>
<rChild name="RP_Box_022:RP_box_primary_vacuum"/>
<rRotation name="RP_Transformations:RP_90_z_cw_180_y_rot"/>
<Translation x="-(-[RP_Dist_Beam_Cent:RP_220_Left_Det_Dist_2]-[RP_Box:RP_Box_primary_vacuum_y]/2)" y="0*mm" z="-([RP_220_Left_Prim_Hor_z]-[RP_220_Left_Station_Length]/2)"/>
</PosPart>
<PosPart copyNumber="10023"> <!-- the offset 10^4 indicates pixel RP -->
<rParent name="RP_220_Left_Station_Vacuum_5"/>
<rChild name="RP_Box_023:RP_box_primary_vacuum"/>
<rRotation name="RP_Transformations:RP_90_z_cw_180_y_rot"/>
<Translation x="-(-[RP_Dist_Beam_Cent:RP_220_Left_Det_Dist_3]-[RP_Box:RP_Box_primary_vacuum_y]/2)" y="0*mm" z="-([RP_220_Left_Sec_Hor_z]-[RP_220_Left_Station_Length]/2)"/>
</PosPart>
<PosPart copyNumber="24">
<rParent name="RP_220_Left_Station_Vacuum_5"/>
<rChild name="RP_Box_024:RP_box_primary_vacuum"/>
<rRotation name="RP_Transformations:RP_y_180_rot"/>
<Translation x="0*mm" y="[RP_Dist_Beam_Cent:RP_220_Left_Det_Dist_4]+[RP_Box:RP_Box_primary_vacuum_y]/2" z="-([RP_220_Left_Sec_Vert_z]-[RP_220_Left_Station_Length]/2)"/>
</PosPart>
<PosPart copyNumber="25">
<rParent name="RP_220_Left_Station_Vacuum_5"/>
<rChild name="RP_Box_025:RP_box_primary_vacuum"/>
<rRotation name="RP_Transformations:RP_180_z_180_y_rot"/>
<Translation x="0*mm" y="-[RP_Dist_Beam_Cent:RP_220_Left_Det_Dist_5]-[RP_Box:RP_Box_primary_vacuum_y]/2" z="-([RP_220_Left_Sec_Vert_z]-[RP_220_Left_Station_Length]/2)"/>
</PosPart>
</PosPartSection>
</DDDefinition>
Loading