Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
fcs:eic:track_optimization [2017/08/23 02:38]
dblyth
fcs:eic:track_optimization [2017/08/23 03:06]
dblyth
Line 7: Line 7:
   * prototypeStrategy.xml - A prototype tracking strategy   * prototypeStrategy.xml - A prototype tracking strategy
   * layerWeights.xml - A file for specifying weights for seed layers   * layerWeights.xml - A file for specifying weights for seed layers
 +
 +===== trainingSample.slcio =====
 +Generated in FPaDSim with SLIC, this file serves as a broad representation of tracks to be fitted.  A reasonable approach is to fill this file with various species of particles, each flatly distributed in pseudorapidity and an appropriate range of transverse momenta.
 +
 +===== strategyBuilder.xml =====
 +An example file is found below.  This file tells LCSim to run the StrategyBuilder driver, and gives seed parameters like minimum number of hit layers, and the number of layers used for seeding are specified.
 +
 +  <lcsim xmlns:lcsim="http://www.lcsim.org/schemas/lcsim/1.0"
 +      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
 +      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
 +    <inputFiles>
 +      <file>${trainingSampleFile}</file>
 +    </inputFiles>
 +    <control>
 +      <numberOfEvents>-1</numberOfEvents>
 +      <verbose>false</verbose>
 +      <printDriverStatistics>true</printDriverStatistics>
 +      <printDriversDetailed>true</printDriversDetailed>
 +    </control>
 +    <execute>
 +      <driver name="StrategyBuilder"></driver>
 +    </execute>
 +    <drivers>
 +      <driver name="StrategyBuilder" type="org.lcsim.recon.tracking.seedtracker.strategybuilder.StrategyBuilder">
 +        <output type="String">${outputStrategyFile}</output>
 +        <symmetrize type="boolean">true</symmetrize>
 +        <layerWeight type="String">${layerWeightsFile}</layerWeight>
 +        <strategyPrototype type="String">${prototypeStrategyFile}</strategyPrototype>
 +        <minLayers type="int">5</minLayers>
 +        <numConfirmLayers type="int">1</numConfirmLayers>
 +        <numSeedLayers type="int">3</numSeedLayers>
 +        <verbose type="boolean">true</verbose>
 +      </driver>
 +    </drivers>
 +  </lcsim>
 +  
 +===== prototypeStrategy.xml ===
 +An example file is found below.  In this file, fit requirements like maximum chi^2 are specified.
 +
 +  <?xml version="1.0" encoding="UTF-8"?>
 +  <StrategyList xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://lcsim.org/recon/tracking/seedtracker/strategybuilder/strategies.xsd">
 +    <TargetDetector>sieic5</TargetDetector>
 +    <Strategy name="Prototype Strategy">
 +      <MinPT>0.2</MinPT>
 +      <MinHits>5</MinHits>
 +      <MinConfirm>1</MinConfirm>
 +      <MaxDCA>5.0</MaxDCA>
 +      <MaxZ0>10.0</MaxZ0>
 +      <MaxChisq>10.0</MaxChisq>
 +      <BadHitChisq>5.0</BadHitChisq>
 +      <Layers>
 +        <Layer type="Seed" layer_number="1" detector_name="SiVertexBarrel" be_flag="BARREL" />
 +        <Layer type="Seed" layer_number="2" detector_name="SiVertexBarrel" be_flag="BARREL" />
 +        <Layer type="Seed" layer_number="3" detector_name="SiVertexBarrel" be_flag="BARREL" />
 +        <Layer type="Confirm" layer_number="1" detector_name="SiTrackerBarrel" be_flag="BARREL" />
 +        <Layer type="Extend" layer_number="5" detector_name="SiVertexBarrel" be_flag="BARREL" />
 +        <Layer type="Extend" layer_number="1" detector_name="SiTrackerBarrel" be_flag="BARREL" />
 +        <Layer type="Extend" layer_number="2" detector_name="SiTrackerBarrel" be_flag="BARREL" />
 +        <Layer type="Extend" layer_number="3" detector_name="SiTrackerBarrel" be_flag="BARREL" />
 +        <Layer type="Extend" layer_number="4" detector_name="SiTrackerBarrel" be_flag="BARREL" />
 +        <Layer type="Extend" layer_number="5" detector_name="SiTrackerBarrel" be_flag="BARREL" />
 +      </Layers>
 +    </Strategy>
 +  </StrategyList>
 +  
 +===== layerWeights.xml =====
 +An example file is found below.
 +
 +  <?xml version="1.0" encoding="UTF-8"?>
 +  <LayerWeight xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
 +               xs:noNamespaceSchemaLocation="http://lcsim.org/recon/tracking/seedtracker/strategybuilder/layerweights.xsd">
 +    <!--Based on layer weights for sid02.-->
 +    <!--Default used for any not already defined-->
 +    <DefaultReadoutEfficiency>1.0</DefaultReadoutEfficiency>
 +    <ReadoutEfficiencies>
 +      <ReadoutEfficiency readout="TkrBarrHits">1.</ReadoutEfficiency>
 +      <ReadoutEfficiency readout="TkrEndcapHits">1.</ReadoutEfficiency>
 +      <ReadoutEfficiency readout="VtxBarrHits">0.99</ReadoutEfficiency>
 +      <ReadoutEfficiency readout="VtxEndcapHits">0.99</ReadoutEfficiency>
 +      <ReadoutEfficiency readout="TkrForwardHits">0.99</ReadoutEfficiency>
 +    </ReadoutEfficiencies>
 +    <DefaultWeight>1.0</DefaultWeight>
 +    <TargetDetector divide_by_two_in_tracker_endcap="false" divide_by_two_in_tracker_forward="false">sieic5</TargetDetector>
 +    <AdjacenceMultiplier>0.5</AdjacenceMultiplier>
 +    <Layers>
 +      <!--Barrel-->
 +      <Layer layer_number="5" detector_name="TrackerBarrel" be_flag="BARREL">2.01</Layer>
 +      <Layer layer_number="4" detector_name="TrackerBarrel" be_flag="BARREL">2.02</Layer>
 +      <Layer layer_number="3" detector_name="TrackerBarrel" be_flag="BARREL">2.03</Layer>
 +      <Layer layer_number="2" detector_name="TrackerBarrel" be_flag="BARREL">2.04</Layer>
 +      <Layer layer_number="1" detector_name="TrackerBarrel" be_flag="BARREL">2.05</Layer>
 +      <Layer layer_number="5" detector_name="VertexBarrel" be_flag="BARREL">3.06</Layer>
 +      <Layer layer_number="4" detector_name="VertexBarrel" be_flag="BARREL">3.07</Layer>
 +      <Layer layer_number="3" detector_name="VertexBarrel" be_flag="BARREL">3.08</Layer>
 +      <Layer layer_number="2" detector_name="VertexBarrel" be_flag="BARREL">0</Layer>
 +      <Layer layer_number="1" detector_name="VertexBarrel" be_flag="BARREL">0</Layer>
 +      <!--North Endcap-->
 +      <Layer layer_number="4" detector_name="TrackerEndcap" be_flag="ENDCAP_NORTH">1.01</Layer>
 +      <Layer layer_number="3" detector_name="TrackerEndcap" be_flag="ENDCAP_NORTH">1.02</Layer>
 +      <Layer layer_number="2" detector_name="TrackerEndcap" be_flag="ENDCAP_NORTH">1.03</Layer>
 +      <Layer layer_number="1" detector_name="TrackerEndcap" be_flag="ENDCAP_NORTH">1.04</Layer>
 +      <Layer layer_number="3" detector_name="TrackerForward" be_flag="ENDCAP_NORTH">1.05</Layer>
 +      <Layer layer_number="2" detector_name="TrackerForward" be_flag="ENDCAP_NORTH">1.06</Layer>
 +      <Layer layer_number="1" detector_name="TrackerForward" be_flag="ENDCAP_NORTH">1.07</Layer>
 +      <Layer layer_number="4" detector_name="VertexEndcap" be_flag="ENDCAP_NORTH">2.08</Layer>
 +      <Layer layer_number="3" detector_name="VertexEndcap" be_flag="ENDCAP_NORTH">2.09</Layer>
 +      <Layer layer_number="2" detector_name="VertexEndcap" be_flag="ENDCAP_NORTH">2.10</Layer>
 +      <Layer layer_number="1" detector_name="VertexEndcap" be_flag="ENDCAP_NORTH">2.11</Layer>
 +      <!--South Endcap-->
 +      <Layer layer_number="4" detector_name="TrackerEndcap" be_flag="ENDCAP_SOUTH">1.01</Layer>
 +      <Layer layer_number="3" detector_name="TrackerEndcap" be_flag="ENDCAP_SOUTH">1.02</Layer>
 +      <Layer layer_number="2" detector_name="TrackerEndcap" be_flag="ENDCAP_SOUTH">1.03</Layer>
 +      <Layer layer_number="1" detector_name="TrackerEndcap" be_flag="ENDCAP_SOUTH">1.04</Layer>
 +      <Layer layer_number="3" detector_name="TrackerForward" be_flag="ENDCAP_SOUTH">1.05</Layer>
 +      <Layer layer_number="2" detector_name="TrackerForward" be_flag="ENDCAP_SOUTH">1.06</Layer>
 +      <Layer layer_number="1" detector_name="TrackerForward" be_flag="ENDCAP_SOUTH">1.07</Layer>
 +      <Layer layer_number="4" detector_name="VertexEndcap" be_flag="ENDCAP_SOUTH">2.08</Layer>
 +      <Layer layer_number="3" detector_name="VertexEndcap" be_flag="ENDCAP_SOUTH">2.09</Layer>
 +      <Layer layer_number="2" detector_name="VertexEndcap" be_flag="ENDCAP_SOUTH">2.10</Layer>
 +      <Layer layer_number="1" detector_name="VertexEndcap" be_flag="ENDCAP_SOUTH">2.11</Layer>
 +    </Layers>
 +  </LayerWeight>
 +
 +  
 +===== Running the strategy builder =====
 +The strategies list can then be built by running the following command...
 +
 +  java -jar <lcsim distribution jar path> \
 +    -DprototypeStrategyFile=prototypeStrategy.xml \
 +    -DlayerWeightsFile=layerWeights.xml \
 +    -DtrainingSampleFile=trainingSample.slcio \
 +    -DoutputStrategyFile=trackingStrategies.xml \
 +    strategyBuilder.xml
 +
 +The trackingStrategies.xml file is the output of the StrategyBuilder driver, which can then be passed to the SeedTracker driver during reconstruction.