Line Code
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>