1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
<?xml version="1.0"?>
<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 ../../Schema/DDLSchema.xsd">
<ConstantsSection label="test">
<Constant name="Tryone" value="3.0*meter"/>
<Constant name="Trytwo" value="[Tryone]/2"/>
<Constant name="Trythree" value="4.325"/>
</ConstantsSection>
<!-- from a mf.tz this shows an example of what we would do in XML.
For this prototype we do not do all 88 parameters.
:detu :MCFX :MW13 88
0.30000E-01 #. SGCSCY - strip resolution
1.3741 #. SGCSCZ - wire resolution
1.00 #. Efficiency
10.00 #. time window (bx)
0.00 #. neutron hit rate per CSC layer per event
32. #. NSTRIP - number of strips in one chamber-1/2
2. #. NNODES - number of strips 2*nnodes+1 around hit
12. #. Nowgrp - No. of wires in group
0. #. NOFLOA - No. of floating strips
0.316108 #. D_ANOD - Wire spacing
0.47625 #. D_ACAT "h" - Anode - Cathode spacing
8.89E+4 #. GASGain - gas gain
4000.0 #. VOLTAGE - CSC Voltage
0.00000E+00 #. PHI_TILT - tilt angle for CSC wire slope (+z)
0.10000E-01 #. RMScal - calibration ambiguity
0.50000 #. F_att - e- attraction in gas
0.07790 #. Fracqs - f_ind = 0.41 * f_sh = 0.19
0.50000 #. ADCoun - ADC count (fC)
0.25000E-02 #. RADWIR - Anode wire radius
50.000 #. TGSTIM - Fast shaper peaking time (ns)
120.00 #. TIMEPS - Peaking Time of Amplifier & Shaped Chamber signal (ns)
695.500 #. AVGZPS - Average z-position for field integrals
16. 0.90 2.40 #. NBINS ETAMIN ETAMAX - Numb. of points and eta range used for field interals -->
<SpecParSection label="spec-pars.xml" eval="true">
<SpecPar name="MCFX">
<!-- I want to select MF[0]/MF1U and MF[1]/MF1U even though I could just do it this way... -->
<!--PartSelector path="//MF1U" subtrees="false"/-->
<!-- just in order to use TWO PartSelectors -->
<PartSelector path="//CMS/MF[0]/MF1U[0]"/>
<PartSelector path="//CMS/MF[1]/MF1U[0]"/>
<Parameter name="SGCSCY" value="0.030000*mm"/>
<Parameter name="SGCSCZ" value="1.3741*mm"/>
<Parameter name="Efficiency" value="1.00"/> <!-- need unit for 'none' -->
<Parameter name="time window (bx)" value="10.00*ms"/>
<Parameter name="neutron hit rate per CSC layer per event" value="0.00" />
<Parameter name="NSTRIP" value="32"/>
<Parameter name="NNODES" value="2"/>
<Parameter name="Nowgrp" value="12"/>
<Parameter name="NOFLOA" value="0"/>
<Parameter name="D_ANOD" value="0.316108*mm"/>
<Parameter name="D_ACAT 'h'" value="0.47625*mm"/>
<Parameter name="GASGain" value="88900"/>
<Parameter name="VOLTAGE" value="4000.0"/>
<Parameter name="PHI_TILT" value="0.0000*deg"/>
<Parameter name="RMScal" value=".010000"/>
<Parameter name="F_att" value="0.50000"/>
<Parameter name="Fracqs" value="0.07790"/>
<Parameter name="ADCoun" value="0.50000"/>
<Parameter name="RADWIR" value="0.0025000"/>
<Parameter name="TGSTIM" value="50.000*nanosecond"/>
<Parameter name="TIMEPS" value="120.00*nanosecond"/>
<Parameter name="AVGZPS" value="695.500*mm"/>
<Parameter name="NBINS" value="16"/>
<Parameter name="ETAMIN" value="0.90"/>
<Parameter name="ETAMAX" value="2.40"/>
<Parameter name="testDouble" value="3.0000000005"/>
<Parameter name="testMaintainer" value="Michael Case" eval="false"/>
</SpecPar>
<SpecPar name="stringExamples" eval="false">
<PartSelector path="//MF1U"/>
<Parameter name="somestring" value="String1"/>
<Parameter name="yetanotherstring" value="String2"/>
<!-- want an exception to the rule ! -->
<Parameter name="oopsanumber" value="3.0*deg" eval="true"/>
<!-- should be back to no eval -->
<Parameter name="notanumber" value="String3"/>
</SpecPar>
</SpecParSection>
<SpecParSection label="spec-pars.xml" eval="true">
<SpecPar name="MCFX2">
<!-- I want to select MF[0]/MF1U and MF[1]/MF1U even though I could just do it this way... -->
<!--PartSelector path="//MF1U" subtrees="false"/-->
<!-- just in order to use TWO PartSelectors -->
<PartSelector path="//CMS/MF[0]/MF1U[0]"/>
<PartSelector path="//CMS/MF[1]/MF1U[0]"/>
<Parameter name="S" value="0.030000*mm"/>
<Parameter name="G" value="1.3741*mm"/>
<String name="onlyAString" value="Mike"/>
<Numeric name="numberOfTries" value="10"/>
</SpecPar>
</SpecParSection>
</DDDefinition>
|