Difference between revisions of "DF Definitions of Tracking Elements"

From New IAC Wiki
Jump to navigation Jump to search
 
(48 intermediate revisions by the same user not shown)
Line 1: Line 1:
Below are definitions of the structures used in the clas12 dc reconstructions.
 
 
=Hits=
 
=Hits=
==Hit.java==
+
Hits are representations of the locations where a particle flying through the drift chamber layers induces a voltage pulse in a nearby wire. In the image below they are represented by the red hexagons. Note that the fact that the track doesn't intersect the hexagons is due to projecting the 3D data onto a 2D plane.
The basic building block of the other structures used in the reconstruction, Hits are simply a representation of a drift chamber wire interaction. It stores all of the relevant information for identifying a wire:
 
{| class="wikitable" style="text-align: left;"
 
|-
 
|Sector||Which of the six radial sectors the hit is in.||[[File:DF_Test_Image.png|thumb]]
 
|-
 
|Superlayer||Which of the six superlayers the hit is in.||
 
|-
 
|Layer||Which of the six wire plane layers within the superlayer the hit is in.||
 
|-
 
|Wire||The wire within the layer the hit is in.||
 
|-
 
|TDC||The Time-to-Digital Converter which processed the hit
 
|}
 
  
And some information about the interaction itself:
+
[[File:DF_DC_Hits.png|600px]]
{| class="wikitable" style="text-align: left;"
 
|-
 
|ID||The hit index in the Evio column.
 
|-
 
|Cell Size||The size of the wire cell. The wires are arranged in hexagonal cells, but different layers have different sizes of hexagons.||[[File:DF_Test_Image.png|thumb]]
 
|-
 
|DoCA Error||Uncertainty in the distance of closest approach time.
 
|}
 
  
It should be noted that this implements the Comparable interface; that is to say the the function compareTo() has been implemented such that hits can be absolutely ordered. The ordering appears to be exactly as you would expect: Sector > SuperLayer > Layer > Wire. This allows you to call the built in sort function of ArrayLists of Hits (such as Clusters).
+
Below is an example of how Hits are stored in a Hipo file.
==FittedHit.java==
+
 
An extension of Hit.java which is meant to be used in fitted clusters, this includes additional information:
+
<pre style="overflow-x: scroll; overflow-y: scroll; white-space: pre;">
{| class="wikitable" style="text-align: left;"
+
SHOWING BANK
|X||X at Z in local coordinate system
+
------------------------+---------------------------+
|-
+
>>>> GROUP (group= 20621) (name=HitBasedTrkg::HBHits):
|XMP||X at the midplane in the sector coordinate system
+
------------------------+---------------------------+
|-
+
          id (  SHORT) :        114      129      125      103        56        54        55        52        53        50        72        73        74        76        90        85        86        83        84        94        92      130      132      133        81        87      134        88      113      122      112      120      111      110      109      108      106      105        98      124      100      101      115      116        1        2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        18        17        20        19        21        23        24        25        26        27        32        34        33        36        35        39        38        41        40
|Z||Z in the Sector Coordinate System
+
      status (  SHORT) :          0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0
|-
+
      sector (    BYTE) :          1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3        3
|lX||X in the local coordinate system; used in hit-based fit to cluster.
+
  superlayer (    BYTE) :          2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        2        1        1        1        1        1        1        2        2        2        2        2        2        3        3        3        3        3        3        3        3        4        4        4        4        4        4        5        5        5        5        5        5        5        5        5
|-
+
      layer (    BYTE) :          1        2        3        5        3        4        4        5        5        6        1        2        2        3        4        5        5        6        6        1        2        2        3        4        5        5        6        6        1        1        2        2        3        3        4        4        5        5        1        2        3        4        4        5        1        2        3        4        5        6        1        2        3        4        5        6        1        2        3        4        5        5        6        6        1        2        3        4        5        6        2        3        3        4        4        5        5        6        6
|lY||Y in the local coordinate system; used in hit-based fit to cluster.
+
        wire (  SHORT) :        40        43        42        40        12        11        12        9        10        9        26        27        28        29        29        28        29        27        28        31        31        32        32        32        31        32        32        33        35        38        36        38        35        36        36        37        37        38        41        42        41        41        42        41        61        61        61        61        61        61        60        61        60        61        60        61        48        48        47        47        46        47        46        47        44        44        43        43        42        42        8        6        7        5        6        3        4        3        4
|-
+
        TDC (    INT) :        75        27        36        25        13        47        89        28      120      129        78      126        11        28      160        72        17        93        71      154        32      169      114        34        44        99        89        6        76      108        66      119      155      146      122      121        10        89        16        38        13        7        21        21        25      103        65        65      112        20      147        44        94        89        41      144        44        24        92      145      204      274      277      210      149      112        99        78        64        72      147      267      242      418        95      567        11        92      414
|Residual||Cluster line to the wire position residual
+
    trkDoca (  FLOAT) :    -1.0000  -1.0000  -1.0000  -1.0000    0.0731    0.2925    0.5119    0.5119    0.2925    0.0731    1.4833    1.0587    0.3088    2.1009    1.1580    0.2151    1.5826    2.0954    0.7279    0.0055    0.9282    0.4420    0.8785    0.0552    0.9890    0.3812    0.5525    0.8177    1.5174    2.6210    1.0346    1.7244    1.9313    0.5518    1.4485    0.0690    0.4138    1.7933    0.2795    0.4945    0.1290    0.7525    0.6450    0.0215    0.1909    0.4199    0.3054    0.3054    0.4199    0.1909    0.1998    0.4395    0.3197    0.3197    0.4395    0.1998    0.2469    0.0000    0.2469    0.4938    0.7407    1.2345    0.9876    0.9876    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0199    0.5494    1.3383    1.1486    0.7392    1.6781    0.2096    0.3895    1.4983
|-
+
  docaError (  FLOAT) :    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.1941    0.1941    0.1941    0.1941    0.1941    0.1941    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.3127    0.3127    0.3127    0.3127    0.3127    0.3127    0.3127    0.3127    0.3311    0.3311    0.3311    0.3311    0.3311    0.3311    0.4701    0.4701    0.4701    0.4701    0.4701    0.4701    0.4701    0.4701    0.4701
|Time Residual||Cluster line to wire position time residual
+
          LR (    BYTE) :          0        0        0        0        1        1        -1        1        -1        -1        1        1        -1        -1        -1        -1        -1        1        1        -1        1        -1        -1        1        1        -1        1        -1        1        -1        1        -1        1        1        1        1        -1        -1        1        -1        1        1        -1        -1        -1        1        -1        1        -1        1        1        -1        1        -1        1        -1        -1        1        1        1        1        -1        1        -1        -1        -1        -1        -1        -1        -1        1        1        -1         1        -1        1        -1        1        -1
|-
+
        LocX (  FLOAT) :    1.0000    2.0000    3.0000    5.0000    3.0000    4.0000    4.0000    5.0000    5.0000    6.0000    1.0000    2.0000    2.0000    3.0000    4.0000    5.0000    5.0000    6.0000    6.0000    1.0000    2.0000    2.0000    3.0000    4.0000    5.0000    5.0000    6.0000    6.0000    1.0000    1.0000    2.0000    2.0000    3.0000    3.0000    4.0000    4.0000    5.0000    5.0000    1.0000    2.0000    3.0000    4.0000    4.0000    5.0000    1.0000    2.0000    3.0000    4.0000    5.0000    6.0000    1.0000    2.0000    3.0000    4.0000    5.0000    6.0000    1.0000    2.0000    3.0000    4.0000    5.0000    5.0000    6.0000    6.0000    1.0000    2.0000    3.0000    4.0000    5.0000    6.0000    2.0000    3.0000    3.0000    4.0000    4.0000    5.0000    5.0000    6.0000    6.0000
|Left-Right Ambiguity|| Gives a value to handle the left-right ambiguity:
+
        LocY (  FLOAT) :    46.7654  49.6521  49.0748  46.7654  14.4338  12.7017  13.8564  10.9697  12.1244  10.3923  30.5996  31.1769  32.3316  34.0637  33.4863  32.9090  34.0637  31.1769  32.3316  36.3731  35.7957  36.9504  37.5278  36.9504  36.3731  37.5278  36.9504  38.1051  40.9919  44.4560  41.5692  43.8786  40.9919  42.1466  41.5692  42.7239  43.3013  44.4560  47.9201  48.4974  47.9201  47.3427  48.4974  47.9201  71.0141  70.4367  71.0141  70.4367  71.0141  70.4367  69.8594  70.4367  69.8594  70.4367  69.8594  70.4367  56.0030  55.4256  54.8483  54.2709  53.6936  54.8483  53.1162  54.2709  51.3842  50.8068  50.2295  49.6521  49.0748  48.4974    9.2376    7.5056    8.6603    5.7735    6.9282    4.0415    5.1962    3.4641    4.6188
|-1 => y-fit < 0 to the left of the wire=> <code>y=y-lr*TimeToDistance</code>
+
          X (  FLOAT) :     0.0000    0.0000    0.0000    0.0000  -71.6639  -73.7759  -72.3679  -75.8878  -74.4799  -76.5918  -51.9523  -51.2483  -49.8404  -47.7284  -48.4324  -49.1364  -47.7284  -51.2483  -49.8404  -44.9125  -45.6164  -44.2085  -43.5045  -44.2085  -44.9125  -43.5045  -44.2085  -42.8005  -39.2806  -35.0567  -38.5766  -35.7606  -39.2806  -37.8726  -38.5766  -37.1686  -36.4646  -35.0567  -30.8327  -30.1287  -30.8327  -31.5367  -30.1287  -30.8327  -1.6736  -2.3461  -1.6736  -2.3461  -1.6736  -2.3461  -4.0813  -3.3773  -4.0813  -3.3773  -4.0813  -3.3773  -24.1981  -25.2812  -26.3643  -27.4474  -28.5305  -26.3643  -29.6136  -27.4474  -34.9155  -36.0625  -37.2095  -38.3565  -39.5035  -40.6506 -158.4696 -163.2955 -160.0383 -168.2414 -164.9842 -173.0673 -169.8101 -174.7560 -171.4987
|-
+
          Z (  FLOAT) :    0.0000    0.0000    0.0000    0.0000  242.3253  243.5380  243.5380  244.7507  244.7507  245.9633  239.9000  241.1127  241.1127  242.3253  243.5380  244.7507  244.7507  245.9633  245.9633  239.9000  241.1127  241.1127  242.3253  243.5380  244.7507  244.7507  245.9633  245.9633  239.9000  239.9000  241.1127  241.1127  242.3253  242.3253  243.5380  243.5380  244.7507  244.7507  239.9000  241.1127  242.3253  243.5380  243.5380  244.7507  229.2365  230.3950  231.5534  232.7119  233.8704  235.0289  239.9000  241.1127  242.3253  243.5380  244.7507  245.9633  353.4097  355.2754  357.1411  359.0069  360.8726  360.8726  362.7383  362.7383  373.7406  375.7163  377.6921  379.6679  381.6437  383.6195  494.7098  497.5153  497.5153  500.3207  500.3207  503.1261  503.1261  505.9315  505.9315
|Quality Fac||?
+
          B (  FLOAT) :    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
|-
+
      TProp (  FLOAT) :    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
|Tracking Status||A flag which denotes the tracking status:
+
    TFlight (  FLOAT) :    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
*-1 => not fit
+
  clusterID (  SHORT) :        -1        -1        -1        -1        1        1        1        1        1        1        2        2        2        2        2        2        2        2        2        3        3        3        3        3        3        3        3        3        4        4        4        4        4        4        4        4        4        4        5        5        5        5        5        5        6        6        6        6        6        6        7        7        7        7        7        7        8        8        8        8        8        8        8        8        9        9        9        9        9        9        10        10        10        10        10        10        10        10        10
*0 => hit-based tracking fit
+
      trkID (    BYTE) :        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1
*1 => time-based tracking fit.
+
------------------------+---------------------------+
|-
+
</pre>
|Cluster Fit DoCA||?
 
|-
 
|Track Fit DoCA||?
 
|-
 
|Time to Distance||?
 
|-
 
|Beta||?
 
|-
 
|Associated State Vector||?
 
|-
 
|DoCA||?
 
|-
 
|B||?
 
|-
 
|lr||?
 
|-
 
|Associated Cluster ID||?
 
|-
 
|Remove Flag||?
 
|-
 
|Associated HB Track ID||?
 
|-
 
|Associated TB Track ID||?
 
|-
 
|CrossDirIntersWire||?
 
|-
 
|SignalPropagAlongWire||?
 
|-
 
|SignalPropagTimeAlongWire||?
 
|-
 
|T0||?
 
|-
 
|tFlight||?
 
|-
 
|tProp||?
 
|-
 
|tStart||?
 
|-
 
|Time||?
 
|}
 
  
 
=Clusters=
 
=Clusters=
Clusters are groups of hits within each superlayer.
+
Clusters are collections of hits that are near to one another. In the image below, all of the hits would be included in the cluster. The red one is culled from the group when making the segment for this cluster.
 +
 
 +
[[File:DF_DC_Clusters.png|600px]]
 +
 
 +
Below is an example of how Clusters are stored in a Hipo file.
 +
 
 +
<pre style="overflow-x: scroll; overflow-y: scroll; white-space: pre;">
 +
SHOWING BANK
 +
------------------------+---------------------------+
 +
>>>> GROUP (group= 20622) (name=HitBasedTrkg::HBClusters):
 +
------------------------+---------------------------+
 +
          id (  SHORT) :          1        2        3        4        5        6        7        8
 +
      status (  SHORT) :          0        1        0        0        0        0        0        0
 +
      sector (    BYTE) :          2        2        5        5        5        5        5        5
 +
  superlayer (    BYTE) :          1        2        1        2        3        4        5        6
 +
    Hit1_ID (  SHORT) :          1        11        35        43        50        56        63        70
 +
    Hit2_ID (  SHORT) :          2        13        34        42        49        57        65        71
 +
    Hit3_ID (  SHORT) :          3        14        36        44        51        59        64        72
 +
    Hit4_ID (  SHORT) :          4        15        37        45        52        58        66        73
 +
    Hit5_ID (  SHORT) :          6        16        39        46        53        60        67        75
 +
    Hit6_ID (  SHORT) :          7        -1        38        47        54        61        68        74
 +
    Hit7_ID (  SHORT) :        -1        -1        40        48        55        62        69        76
 +
    Hit8_ID (  SHORT) :        -1        -1        41        -1        -1        -1        -1        -1
 +
    Hit9_ID (  SHORT) :        -1        -1        -1        -1        -1        -1        -1        -1
 +
    Hit10_ID (  SHORT) :        -1        -1        -1        -1        -1        -1        -1        -1
 +
    Hit11_ID (  SHORT) :        -1        -1        -1        -1        -1        -1        -1        -1
 +
    Hit12_ID (  SHORT) :        -1        -1        -1        -1        -1        -1        -1        -1
 +
    avgWire (  FLOAT) :    68.6667  77.4000  33.3750  37.4286  29.2857  31.5714  21.8571  23.1429
 +
fitChisqProb (  FLOAT) :    0.0000    0.0036    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
 +
    fitSlope (  FLOAT) :    0.0166    0.2322  -0.2100  -0.1887  -0.2322  -0.2996  -0.3680  -0.3680
 +
fitSlopeErr (  FLOAT) :    0.0403    0.0533    0.0348    0.0352    0.0352    0.0400    0.0382    0.0382
 +
  fitInterc (  FLOAT) :    4.4520  -36.5574    9.5149    9.5899  17.7931  49.5027  70.7928  79.1137
 +
fitIntercErr (  FLOAT) :    9.3509  12.9777    8.0593    8.5474  12.5977  15.1560  19.0513  19.9619
 +
        size (    BYTE) :          6        5        8        7        7        7        7        7
 +
------------------------+---------------------------+
 +
</pre>
  
 
=Segments=
 
=Segments=
A type of FittedCluster that has been pruned of bad hits. Note that in the code this isn't reflected via inheritance, it is simply comment this way.
+
Segments are collections of hits in a single superlayer which have had "bad" hits culled from them. Additionally, a segment also represents a line segment (surprise!) which is a linear approximation of the path of the particle through the superlayer. In the image below, the two segments are represented by the two collections of yellow hexagons. On the left segment you can see the circles which represent the distance of closest approach (doca) of the particle to the wire. The right segment lacks these as there wasn't enough information to answer the left-right ambiguity. Also notice that on the left the line segment is approximately tangential to all of the doca circles.
 +
 
 +
[[File:DF_DC_Segments.png|600px]]
 +
 
 +
Below is an example of how Segments are stored in a Hipo file.
 +
 
 +
<pre style="overflow-x: scroll; overflow-y: scroll; white-space: pre;">
 +
SHOWING BANK
 +
------------------------+---------------------------+
 +
>>>> GROUP (group= 20623) (name=HitBasedTrkg::HBSegments):
 +
------------------------+---------------------------+
 +
          id (  SHORT) :          1        3        5        6        7        8        9        10
 +
      status (  SHORT) :          0        0        0        0        0        0        0        0
 +
      sector (    BYTE) :          1        1        1        3        3        3        3        3
 +
  superlayer (    BYTE) :          2        2        2        1        2        3        4        5
 +
  Cluster_ID (  SHORT) :          1        3        5        6        7        8        9        10
 +
    Hit1_ID (  SHORT) :        56        94        98        1        7        13        21        32
 +
    Hit2_ID (  SHORT) :        54        92      124        2        8        14        23        34
 +
    Hit3_ID (  SHORT) :        55      130      100        3        9        15        24        33
 +
    Hit4_ID (  SHORT) :        52      132      101        4        10        16        25        36
 +
    Hit5_ID (  SHORT) :        53      133      115        5        11        18        26        35
 +
    Hit6_ID (  SHORT) :        50        81      116        6        12        17        27        39
 +
    Hit7_ID (  SHORT) :        -1        87        -1        -1        -1        20        -1        38
 +
    Hit8_ID (  SHORT) :        -1      134        -1        -1        -1        19        -1        41
 +
    Hit9_ID (  SHORT) :        -1        88        -1        -1        -1        -1        -1        40
 +
    Hit10_ID (  SHORT) :        -1        -1        -1        -1        -1        -1        -1        -1
 +
    Hit11_ID (  SHORT) :        -1        -1        -1        -1        -1        -1        -1        -1
 +
    Hit12_ID (  SHORT) :        -1        -1        -1        -1        -1        -1        -1        -1
 +
    avgWire (  FLOAT) :    10.5000  31.7778  41.3333  61.0000  60.5000  47.0000  43.0000    5.1111
 +
fitChisqProb (  FLOAT) :    0.0019    0.0000    0.0000    0.0027    0.0027    0.0000    1.0000    0.0000
 +
    fitSlope (  FLOAT) :    -1.4249    0.2107  -0.0625  -0.0498    0.0498  -0.4354  -0.5805  -1.3945
 +
fitSlopeErr (  FLOAT) :    0.0719    0.0321    0.0512    0.0403    0.0403    0.0344    0.0403    0.0427
 +
  fitInterc (  FLOAT) :  273.7628  -95.4594  -15.5529    9.5410  -15.8175  129.4050  182.0523  531.4352
 +
fitIntercErr (  FLOAT) :    17.5424    7.8094  12.4168    9.3509    9.7859  12.3491  15.2542  21.4032
 +
SegEndPoint1X (  FLOAT) :    39.6847  60.6765  73.6974  95.1886  97.8695  127.1811  126.3054  67.8422
 +
SegEndPoint1Z (  FLOAT) :  246.1951  236.4065  230.3347  208.5473  219.0631  330.6389  353.4799  511.1211
 +
SegEndPoint2X (  FLOAT) :    34.4168  64.3967  75.9163  97.3753  100.7054  127.4424  125.2827  56.0423
 +
SegEndPoint2Z (  FLOAT) :  255.3417  241.3618  235.9901  213.9188  224.4308  340.8101  364.8570  532.1007
 +
        size (    BYTE) :          6        9        6        6        6        8        6        9
 +
------------------------+---------------------------+
 +
</pre>
  
 
=Crosses=
 
=Crosses=
Crosses are used to find tracks. They are implemented as an ArrayList of Segments. The cross "object" is simply a point in 3D space and a direction unit vector.
+
Crosses represent a point in space between two superlayers and an associated direction vector. The point is found by taking the average of two points on the midplane between the two superlayers. Those two points are defined by the intersection of the midplane with the lines defined by the Segments. The direction vector is more complicated and can be understood by studying the code below.
 +
 
 +
<pre>
 +
        double z = DcDetector.getRegionMidpoint(this.get_Region() - 1).z;
 +
 
 +
        double wy_over_wx = (Math.cos(Math.toRadians(6.)) / Math.sin(Math.toRadians(6.)));
 +
        double val_sl1 = this._seg1.get_fittedCluster().get_clusterLineFitSlope();
 +
        double val_sl2 = this._seg2.get_fittedCluster().get_clusterLineFitSlope();
 +
        double val_it1 = this._seg1.get_fittedCluster().get_clusterLineFitIntercept();
 +
        double val_it2 = this._seg2.get_fittedCluster().get_clusterLineFitIntercept();
 +
 
 +
        double x = 0.5 * (val_it1 + val_it2) + 0.5 * z * (val_sl1 + val_sl2);
 +
        double y = 0.5 * wy_over_wx * (val_it2 - val_it1) + 0.5 * wy_over_wx * z * (val_sl2 - val_sl1);
 +
 
 +
        this.set_Point(new Point3D(x, y, z));
 +
 
 +
        double tanThX = val_sl2;
 +
        double tanThY = FastMath.atan2(y, z);
 +
        double uz = 1. / Math.sqrt(1 + tanThX * tanThX + tanThY * tanThY);
 +
        double ux = uz * tanThX;
 +
        double uy = uz * tanThY;
 +
 
 +
        Point3D dirVec = new Point3D(ux, uy, uz);
 +
        this.set_Dir(dirVec);
 +
</pre>
 +
 
 +
The image below shows the cross from the image above.
 +
 
 +
[[File:DF_DC_Crosses.png|600px]]
 +
 
 +
Below is an example of how Crosses are stored in a Hipo file.
 +
 
 +
<pre style="overflow-x: scroll; overflow-y: scroll; white-space: pre;">
 +
SHOWING BANK
 +
------------------------+---------------------------+
 +
>>>> GROUP (group= 20625) (name=HitBasedTrkg::HBCrosses):
 +
------------------------+---------------------------+
 +
          id (  SHORT) :          1        2        3        4        5
 +
      status (  SHORT) :          0        0        0        0        0
 +
      sector (    BYTE) :          3        3        3        6        6
 +
      region (    BYTE) :          1        2        3        1        1
 +
          x (  FLOAT) :    -0.3618  -11.9840  -56.9372  -68.7670  -65.6416
 +
          y (  FLOAT) :    32.3521  55.8878  59.5648    7.2446  -22.4919
 +
          z (  FLOAT) :  237.4644  368.2394  510.0512  237.4644  237.4644
 +
      err_x (  FLOAT) :    0.1643    0.2976    0.3015    0.1788    0.2135
 +
      err_y (  FLOAT) :    1.5629    2.8317    2.8681    1.7015    2.0310
 +
      err_z (  FLOAT) :    0.0000    0.0000    0.0000    0.0000    0.0000
 +
          ux (  FLOAT) :    0.0492  -0.2238  -0.4260    0.2261    0.2252
 +
          uy (  FLOAT) :    0.1340    0.1452    0.1045    0.0297  -0.0916
 +
          uz (  FLOAT) :    0.9898    0.9638    0.8987    0.9737    0.9700
 +
      err_ux (  FLOAT) :    0.0401    0.0361    0.0529    0.0273    0.0404
 +
      err_uy (  FLOAT) :    0.3828    0.3286    0.2649    0.2079    0.2514
 +
      err_uz (  FLOAT) :    0.0014    0.0518    0.0726    0.0908    0.1186
 +
Segment1_ID (  SHORT) :          1        3        5        7        8
 +
Segment2_ID (  SHORT) :          2        4        6        10        10
 +
------------------------+---------------------------+
 +
</pre>
  
 
=Tracks=
 
=Tracks=
Extends Trajectory. A collection of state vectors which describe the position, momentum, and charge at various points in the DC.
+
Tracks represent the culmination of the entire reconstruction chain. Importantly, they include the reconstructed interaction vertex, momentum at that vertex, and the charge of the particle. They also contain some basic information about the crosses from which the interaction vertex was reconstructed and some statistical data about the fit.
 +
 
 +
[[File:DF_DC_Tracks.png|600px]]
 +
 
 +
Below is an example of how Tracks are stored in a Hipo file.
 +
 
 +
<pre style="overflow-x: scroll; overflow-y: scroll; white-space: pre;">
 +
SHOWING BANK
 +
------------------------+---------------------------+
 +
>>>> GROUP (group= 20626) (name=HitBasedTrkg::HBTracks):
 +
------------------------+---------------------------+
 +
          id (  SHORT) :          1
 +
      status (  SHORT) :        100
 +
      sector (    BYTE) :          3
 +
        c1_x (  FLOAT) :  -128.5109
 +
        c1_y (  FLOAT) :  115.4666
 +
        c1_z (  FLOAT) :  506.9086
 +
      c1_ux (  FLOAT) :    0.0032
 +
      c1_uy (  FLOAT) :    -0.0799
 +
      c1_uz (  FLOAT) :    -0.9968
 +
        c3_x (  FLOAT) :  -128.7847
 +
        c3_y (  FLOAT) :  120.8905
 +
        c3_z (  FLOAT) :  574.3513
 +
      c3_ux (  FLOAT) :    -0.0045
 +
      c3_uy (  FLOAT) :    0.0802
 +
      c3_uz (  FLOAT) :    0.9968
 +
        t1_x (  FLOAT) :  -57.5850
 +
        t1_y (  FLOAT) :    45.6473
 +
        t1_z (  FLOAT) :  166.7499
 +
      t1_px (  FLOAT) :    -0.3076
 +
      t1_py (  FLOAT) :    0.2565
 +
      t1_pz (  FLOAT) :    0.7588
 +
      Vtx0_x (  FLOAT) :    -2.2362
 +
      Vtx0_y (  FLOAT) :    -1.3091
 +
      Vtx0_z (  FLOAT) :    28.8956
 +
        p0_x (  FLOAT) :    -0.1872
 +
        p0_y (  FLOAT) :    0.3537
 +
        p0_z (  FLOAT) :    0.7590
 +
  Cross1_ID (  SHORT) :          1
 +
  Cross2_ID (  SHORT) :          2
 +
  Cross3_ID (  SHORT) :          3
 +
          q (    BYTE) :        -1
 +
  pathlength (  FLOAT) :  583.9297
 +
        chi2 (  FLOAT) :  9557.5850
 +
        ndf (  SHORT) :        27
 +
------------------------+---------------------------+
 +
</pre>
 +
 
 +
=Trajectories=
 +
 
 +
 
 +
Below is an example of how Trajectories are stored in a Hipo file.
 +
 
 +
<pre style="overflow-x: scroll; overflow-y: scroll; white-space: pre;">
 +
SHOWING BANK
 +
------------------------+---------------------------+
 +
>>>> GROUP (group= 20653) (name=TimeBasedTrkg::Trajectory):
 +
------------------------+---------------------------+
 +
        tid (  SHORT) :          1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        1        0
 +
        did (  SHORT) :          0        1        2        3        4        5        6        12        18        24        30        36        42        43        45        46        47        48        0
 +
          x (  FLOAT) :    -9.9529  -3.7311  -3.7962  -3.8596  -3.9212  -3.9789  -4.0374  -13.2187  -13.7865  -18.8099  -19.4285  -22.3313  -22.9000  -25.2570  -26.2660  -26.6888  -27.0723  -27.9423    0.0000
 +
          y (  FLOAT) :  -50.6146  -11.4803  -11.8263  -12.1727  -12.5193  -12.8522  -13.1992  -68.0507  -71.0887 -100.0908 -103.8051 -117.5637 -119.6376 -128.3220 -132.0461 -133.6067 -135.0220 -138.2330    0.0000
 +
          z (  FLOAT) :  167.2291  30.3110  31.5104  32.7099  33.9094  35.0609  36.2604  228.7963  239.5100  355.4784  376.8500  505.6019  529.8580  631.0645  674.4456  692.6249  709.1107  746.5151    0.0000
 +
          tx (  FLOAT) :    -0.0506  -0.0528  -0.0514  -0.0500  -0.0487  -0.0474  -0.0462  -0.0510  -0.0508  -0.0305  -0.0266  -0.0234  -0.0233  -0.0232  -0.0232  -0.0232  -0.0232  -0.0232    0.0000
 +
          ty (  FLOAT) :    -0.2722  -0.2767  -0.2769  -0.2772  -0.2774  -0.2775  -0.2777  -0.2723  -0.2726  -0.1825  -0.1599  -0.0850  -0.0853  -0.0855  -0.0855  -0.0855  -0.0855  -0.0855    0.0000
 +
          tz (  FLOAT) :    0.9609    0.9595    0.9595    0.9595    0.9595    0.9595    0.9596    0.9609    0.9608    0.9827    0.9868    0.9961    0.9961    0.9961    0.9961    0.9961    0.9961    0.9961    0.0000
 +
          B (  FLOAT) :    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
 +
          L (  FLOAT) :  185.6421  43.1024  44.3525  45.6025  46.8526  48.0527  49.3027  249.7139  260.8645  380.5711  402.2723  531.8295  556.1809  657.7866  701.3390  719.5900  736.1409  773.6930    0.0000
 +
------------------------+---------------------------+
 +
</pre>
  
=Program Flowchart=
+
=Main Page=
[[File:DF_RecoFlowChart.png|200px]]
+
[[User:Friadavi]]

Latest revision as of 01:03, 7 March 2019

Hits

Hits are representations of the locations where a particle flying through the drift chamber layers induces a voltage pulse in a nearby wire. In the image below they are represented by the red hexagons. Note that the fact that the track doesn't intersect the hexagons is due to projecting the 3D data onto a 2D plane.

DF DC Hits.png

Below is an example of how Hits are stored in a Hipo file.

 SHOWING BANK
------------------------+---------------------------+
>>>> GROUP (group= 20621) (name=HitBasedTrkg::HBHits):
------------------------+---------------------------+
          id (   SHORT) :        114       129       125       103        56        54        55        52        53        50        72        73        74        76        90        85        86        83        84        94        92       130       132       133        81        87       134        88       113       122       112       120       111       110       109       108       106       105        98       124       100       101       115       116         1         2         3         4         5         6         7         8         9        10        11        12        13        14        15        16        18        17        20        19        21        23        24        25        26        27        32        34        33        36        35        39        38        41        40
      status (   SHORT) :          0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0
      sector (    BYTE) :          1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3         3
  superlayer (    BYTE) :          2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         2         1         1         1         1         1         1         2         2         2         2         2         2         3         3         3         3         3         3         3         3         4         4         4         4         4         4         5         5         5         5         5         5         5         5         5
       layer (    BYTE) :          1         2         3         5         3         4         4         5         5         6         1         2         2         3         4         5         5         6         6         1         2         2         3         4         5         5         6         6         1         1         2         2         3         3         4         4         5         5         1         2         3         4         4         5         1         2         3         4         5         6         1         2         3         4         5         6         1         2         3         4         5         5         6         6         1         2         3         4         5         6         2         3         3         4         4         5         5         6         6
        wire (   SHORT) :         40        43        42        40        12        11        12         9        10         9        26        27        28        29        29        28        29        27        28        31        31        32        32        32        31        32        32        33        35        38        36        38        35        36        36        37        37        38        41        42        41        41        42        41        61        61        61        61        61        61        60        61        60        61        60        61        48        48        47        47        46        47        46        47        44        44        43        43        42        42         8         6         7         5         6         3         4         3         4
         TDC (     INT) :         75        27        36        25        13        47        89        28       120       129        78       126        11        28       160        72        17        93        71       154        32       169       114        34        44        99        89         6        76       108        66       119       155       146       122       121        10        89        16        38        13         7        21        21        25       103        65        65       112        20       147        44        94        89        41       144        44        24        92       145       204       274       277       210       149       112        99        78        64        72       147       267       242       418        95       567        11        92       414
     trkDoca (   FLOAT) :    -1.0000   -1.0000   -1.0000   -1.0000    0.0731    0.2925    0.5119    0.5119    0.2925    0.0731    1.4833    1.0587    0.3088    2.1009    1.1580    0.2151    1.5826    2.0954    0.7279    0.0055    0.9282    0.4420    0.8785    0.0552    0.9890    0.3812    0.5525    0.8177    1.5174    2.6210    1.0346    1.7244    1.9313    0.5518    1.4485    0.0690    0.4138    1.7933    0.2795    0.4945    0.1290    0.7525    0.6450    0.0215    0.1909    0.4199    0.3054    0.3054    0.4199    0.1909    0.1998    0.4395    0.3197    0.3197    0.4395    0.1998    0.2469    0.0000    0.2469    0.4938    0.7407    1.2345    0.9876    0.9876    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0199    0.5494    1.3383    1.1486    0.7392    1.6781    0.2096    0.3895    1.4983
   docaError (   FLOAT) :     0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.1941    0.1941    0.1941    0.1941    0.1941    0.1941    0.2032    0.2032    0.2032    0.2032    0.2032    0.2032    0.3127    0.3127    0.3127    0.3127    0.3127    0.3127    0.3127    0.3127    0.3311    0.3311    0.3311    0.3311    0.3311    0.3311    0.4701    0.4701    0.4701    0.4701    0.4701    0.4701    0.4701    0.4701    0.4701
          LR (    BYTE) :          0         0         0         0         1         1        -1         1        -1        -1         1         1        -1        -1        -1        -1        -1         1         1        -1         1        -1        -1         1         1        -1         1        -1         1        -1         1        -1         1         1         1         1        -1        -1         1        -1         1         1        -1        -1        -1         1        -1         1        -1         1         1        -1         1        -1         1        -1        -1         1         1         1         1        -1         1        -1        -1        -1        -1        -1        -1        -1         1         1        -1         1        -1         1        -1         1        -1
        LocX (   FLOAT) :     1.0000    2.0000    3.0000    5.0000    3.0000    4.0000    4.0000    5.0000    5.0000    6.0000    1.0000    2.0000    2.0000    3.0000    4.0000    5.0000    5.0000    6.0000    6.0000    1.0000    2.0000    2.0000    3.0000    4.0000    5.0000    5.0000    6.0000    6.0000    1.0000    1.0000    2.0000    2.0000    3.0000    3.0000    4.0000    4.0000    5.0000    5.0000    1.0000    2.0000    3.0000    4.0000    4.0000    5.0000    1.0000    2.0000    3.0000    4.0000    5.0000    6.0000    1.0000    2.0000    3.0000    4.0000    5.0000    6.0000    1.0000    2.0000    3.0000    4.0000    5.0000    5.0000    6.0000    6.0000    1.0000    2.0000    3.0000    4.0000    5.0000    6.0000    2.0000    3.0000    3.0000    4.0000    4.0000    5.0000    5.0000    6.0000    6.0000
        LocY (   FLOAT) :    46.7654   49.6521   49.0748   46.7654   14.4338   12.7017   13.8564   10.9697   12.1244   10.3923   30.5996   31.1769   32.3316   34.0637   33.4863   32.9090   34.0637   31.1769   32.3316   36.3731   35.7957   36.9504   37.5278   36.9504   36.3731   37.5278   36.9504   38.1051   40.9919   44.4560   41.5692   43.8786   40.9919   42.1466   41.5692   42.7239   43.3013   44.4560   47.9201   48.4974   47.9201   47.3427   48.4974   47.9201   71.0141   70.4367   71.0141   70.4367   71.0141   70.4367   69.8594   70.4367   69.8594   70.4367   69.8594   70.4367   56.0030   55.4256   54.8483   54.2709   53.6936   54.8483   53.1162   54.2709   51.3842   50.8068   50.2295   49.6521   49.0748   48.4974    9.2376    7.5056    8.6603    5.7735    6.9282    4.0415    5.1962    3.4641    4.6188
           X (   FLOAT) :     0.0000    0.0000    0.0000    0.0000  -71.6639  -73.7759  -72.3679  -75.8878  -74.4799  -76.5918  -51.9523  -51.2483  -49.8404  -47.7284  -48.4324  -49.1364  -47.7284  -51.2483  -49.8404  -44.9125  -45.6164  -44.2085  -43.5045  -44.2085  -44.9125  -43.5045  -44.2085  -42.8005  -39.2806  -35.0567  -38.5766  -35.7606  -39.2806  -37.8726  -38.5766  -37.1686  -36.4646  -35.0567  -30.8327  -30.1287  -30.8327  -31.5367  -30.1287  -30.8327   -1.6736   -2.3461   -1.6736   -2.3461   -1.6736   -2.3461   -4.0813   -3.3773   -4.0813   -3.3773   -4.0813   -3.3773  -24.1981  -25.2812  -26.3643  -27.4474  -28.5305  -26.3643  -29.6136  -27.4474  -34.9155  -36.0625  -37.2095  -38.3565  -39.5035  -40.6506 -158.4696 -163.2955 -160.0383 -168.2414 -164.9842 -173.0673 -169.8101 -174.7560 -171.4987
           Z (   FLOAT) :     0.0000    0.0000    0.0000    0.0000  242.3253  243.5380  243.5380  244.7507  244.7507  245.9633  239.9000  241.1127  241.1127  242.3253  243.5380  244.7507  244.7507  245.9633  245.9633  239.9000  241.1127  241.1127  242.3253  243.5380  244.7507  244.7507  245.9633  245.9633  239.9000  239.9000  241.1127  241.1127  242.3253  242.3253  243.5380  243.5380  244.7507  244.7507  239.9000  241.1127  242.3253  243.5380  243.5380  244.7507  229.2365  230.3950  231.5534  232.7119  233.8704  235.0289  239.9000  241.1127  242.3253  243.5380  244.7507  245.9633  353.4097  355.2754  357.1411  359.0069  360.8726  360.8726  362.7383  362.7383  373.7406  375.7163  377.6921  379.6679  381.6437  383.6195  494.7098  497.5153  497.5153  500.3207  500.3207  503.1261  503.1261  505.9315  505.9315
           B (   FLOAT) :     0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
       TProp (   FLOAT) :     0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
     TFlight (   FLOAT) :     0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
   clusterID (   SHORT) :         -1        -1        -1        -1         1         1         1         1         1         1         2         2         2         2         2         2         2         2         2         3         3         3         3         3         3         3         3         3         4         4         4         4         4         4         4         4         4         4         5         5         5         5         5         5         6         6         6         6         6         6         7         7         7         7         7         7         8         8         8         8         8         8         8         8         9         9         9         9         9         9        10        10        10        10        10        10        10        10        10
       trkID (    BYTE) :         -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1        -1
------------------------+---------------------------+

Clusters

Clusters are collections of hits that are near to one another. In the image below, all of the hits would be included in the cluster. The red one is culled from the group when making the segment for this cluster.

DF DC Clusters.png

Below is an example of how Clusters are stored in a Hipo file.

 SHOWING BANK
------------------------+---------------------------+
>>>> GROUP (group= 20622) (name=HitBasedTrkg::HBClusters):
------------------------+---------------------------+
          id (   SHORT) :          1         2         3         4         5         6         7         8
      status (   SHORT) :          0         1         0         0         0         0         0         0
      sector (    BYTE) :          2         2         5         5         5         5         5         5
  superlayer (    BYTE) :          1         2         1         2         3         4         5         6
     Hit1_ID (   SHORT) :          1        11        35        43        50        56        63        70
     Hit2_ID (   SHORT) :          2        13        34        42        49        57        65        71
     Hit3_ID (   SHORT) :          3        14        36        44        51        59        64        72
     Hit4_ID (   SHORT) :          4        15        37        45        52        58        66        73
     Hit5_ID (   SHORT) :          6        16        39        46        53        60        67        75
     Hit6_ID (   SHORT) :          7        -1        38        47        54        61        68        74
     Hit7_ID (   SHORT) :         -1        -1        40        48        55        62        69        76
     Hit8_ID (   SHORT) :         -1        -1        41        -1        -1        -1        -1        -1
     Hit9_ID (   SHORT) :         -1        -1        -1        -1        -1        -1        -1        -1
    Hit10_ID (   SHORT) :         -1        -1        -1        -1        -1        -1        -1        -1
    Hit11_ID (   SHORT) :         -1        -1        -1        -1        -1        -1        -1        -1
    Hit12_ID (   SHORT) :         -1        -1        -1        -1        -1        -1        -1        -1
     avgWire (   FLOAT) :    68.6667   77.4000   33.3750   37.4286   29.2857   31.5714   21.8571   23.1429
fitChisqProb (   FLOAT) :     0.0000    0.0036    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
    fitSlope (   FLOAT) :     0.0166    0.2322   -0.2100   -0.1887   -0.2322   -0.2996   -0.3680   -0.3680
 fitSlopeErr (   FLOAT) :     0.0403    0.0533    0.0348    0.0352    0.0352    0.0400    0.0382    0.0382
   fitInterc (   FLOAT) :     4.4520  -36.5574    9.5149    9.5899   17.7931   49.5027   70.7928   79.1137
fitIntercErr (   FLOAT) :     9.3509   12.9777    8.0593    8.5474   12.5977   15.1560   19.0513   19.9619
        size (    BYTE) :          6         5         8         7         7         7         7         7
------------------------+---------------------------+

Segments

Segments are collections of hits in a single superlayer which have had "bad" hits culled from them. Additionally, a segment also represents a line segment (surprise!) which is a linear approximation of the path of the particle through the superlayer. In the image below, the two segments are represented by the two collections of yellow hexagons. On the left segment you can see the circles which represent the distance of closest approach (doca) of the particle to the wire. The right segment lacks these as there wasn't enough information to answer the left-right ambiguity. Also notice that on the left the line segment is approximately tangential to all of the doca circles.

DF DC Segments.png

Below is an example of how Segments are stored in a Hipo file.

 SHOWING BANK
------------------------+---------------------------+
>>>> GROUP (group= 20623) (name=HitBasedTrkg::HBSegments):
------------------------+---------------------------+
          id (   SHORT) :          1         3         5         6         7         8         9        10
      status (   SHORT) :          0         0         0         0         0         0         0         0
      sector (    BYTE) :          1         1         1         3         3         3         3         3
  superlayer (    BYTE) :          2         2         2         1         2         3         4         5
  Cluster_ID (   SHORT) :          1         3         5         6         7         8         9        10
     Hit1_ID (   SHORT) :         56        94        98         1         7        13        21        32
     Hit2_ID (   SHORT) :         54        92       124         2         8        14        23        34
     Hit3_ID (   SHORT) :         55       130       100         3         9        15        24        33
     Hit4_ID (   SHORT) :         52       132       101         4        10        16        25        36
     Hit5_ID (   SHORT) :         53       133       115         5        11        18        26        35
     Hit6_ID (   SHORT) :         50        81       116         6        12        17        27        39
     Hit7_ID (   SHORT) :         -1        87        -1        -1        -1        20        -1        38
     Hit8_ID (   SHORT) :         -1       134        -1        -1        -1        19        -1        41
     Hit9_ID (   SHORT) :         -1        88        -1        -1        -1        -1        -1        40
    Hit10_ID (   SHORT) :         -1        -1        -1        -1        -1        -1        -1        -1
    Hit11_ID (   SHORT) :         -1        -1        -1        -1        -1        -1        -1        -1
    Hit12_ID (   SHORT) :         -1        -1        -1        -1        -1        -1        -1        -1
     avgWire (   FLOAT) :    10.5000   31.7778   41.3333   61.0000   60.5000   47.0000   43.0000    5.1111
fitChisqProb (   FLOAT) :     0.0019    0.0000    0.0000    0.0027    0.0027    0.0000    1.0000    0.0000
    fitSlope (   FLOAT) :    -1.4249    0.2107   -0.0625   -0.0498    0.0498   -0.4354   -0.5805   -1.3945
 fitSlopeErr (   FLOAT) :     0.0719    0.0321    0.0512    0.0403    0.0403    0.0344    0.0403    0.0427
   fitInterc (   FLOAT) :   273.7628  -95.4594  -15.5529    9.5410  -15.8175  129.4050  182.0523  531.4352
fitIntercErr (   FLOAT) :    17.5424    7.8094   12.4168    9.3509    9.7859   12.3491   15.2542   21.4032
SegEndPoint1X (   FLOAT) :    39.6847   60.6765   73.6974   95.1886   97.8695  127.1811  126.3054   67.8422
SegEndPoint1Z (   FLOAT) :   246.1951  236.4065  230.3347  208.5473  219.0631  330.6389  353.4799  511.1211
SegEndPoint2X (   FLOAT) :    34.4168   64.3967   75.9163   97.3753  100.7054  127.4424  125.2827   56.0423
SegEndPoint2Z (   FLOAT) :   255.3417  241.3618  235.9901  213.9188  224.4308  340.8101  364.8570  532.1007
        size (    BYTE) :          6         9         6         6         6         8         6         9
------------------------+---------------------------+

Crosses

Crosses represent a point in space between two superlayers and an associated direction vector. The point is found by taking the average of two points on the midplane between the two superlayers. Those two points are defined by the intersection of the midplane with the lines defined by the Segments. The direction vector is more complicated and can be understood by studying the code below.

        double z = DcDetector.getRegionMidpoint(this.get_Region() - 1).z;

        double wy_over_wx = (Math.cos(Math.toRadians(6.)) / Math.sin(Math.toRadians(6.)));
        double val_sl1 = this._seg1.get_fittedCluster().get_clusterLineFitSlope();
        double val_sl2 = this._seg2.get_fittedCluster().get_clusterLineFitSlope();
        double val_it1 = this._seg1.get_fittedCluster().get_clusterLineFitIntercept();
        double val_it2 = this._seg2.get_fittedCluster().get_clusterLineFitIntercept();

        double x = 0.5 * (val_it1 + val_it2) + 0.5 * z * (val_sl1 + val_sl2);
        double y = 0.5 * wy_over_wx * (val_it2 - val_it1) + 0.5 * wy_over_wx * z * (val_sl2 - val_sl1);

        this.set_Point(new Point3D(x, y, z));

        double tanThX = val_sl2;
        double tanThY = FastMath.atan2(y, z);
        double uz = 1. / Math.sqrt(1 + tanThX * tanThX + tanThY * tanThY);
        double ux = uz * tanThX;
        double uy = uz * tanThY;

        Point3D dirVec = new Point3D(ux, uy, uz);
        this.set_Dir(dirVec);

The image below shows the cross from the image above.

DF DC Crosses.png

Below is an example of how Crosses are stored in a Hipo file.

 SHOWING BANK
------------------------+---------------------------+
>>>> GROUP (group= 20625) (name=HitBasedTrkg::HBCrosses):
------------------------+---------------------------+
          id (   SHORT) :          1         2         3         4         5
      status (   SHORT) :          0         0         0         0         0
      sector (    BYTE) :          3         3         3         6         6
      region (    BYTE) :          1         2         3         1         1
           x (   FLOAT) :    -0.3618  -11.9840  -56.9372  -68.7670  -65.6416
           y (   FLOAT) :    32.3521   55.8878   59.5648    7.2446  -22.4919
           z (   FLOAT) :   237.4644  368.2394  510.0512  237.4644  237.4644
       err_x (   FLOAT) :     0.1643    0.2976    0.3015    0.1788    0.2135
       err_y (   FLOAT) :     1.5629    2.8317    2.8681    1.7015    2.0310
       err_z (   FLOAT) :     0.0000    0.0000    0.0000    0.0000    0.0000
          ux (   FLOAT) :     0.0492   -0.2238   -0.4260    0.2261    0.2252
          uy (   FLOAT) :     0.1340    0.1452    0.1045    0.0297   -0.0916
          uz (   FLOAT) :     0.9898    0.9638    0.8987    0.9737    0.9700
      err_ux (   FLOAT) :     0.0401    0.0361    0.0529    0.0273    0.0404
      err_uy (   FLOAT) :     0.3828    0.3286    0.2649    0.2079    0.2514
      err_uz (   FLOAT) :     0.0014    0.0518    0.0726    0.0908    0.1186
 Segment1_ID (   SHORT) :          1         3         5         7         8
 Segment2_ID (   SHORT) :          2         4         6        10        10
------------------------+---------------------------+

Tracks

Tracks represent the culmination of the entire reconstruction chain. Importantly, they include the reconstructed interaction vertex, momentum at that vertex, and the charge of the particle. They also contain some basic information about the crosses from which the interaction vertex was reconstructed and some statistical data about the fit.

DF DC Tracks.png

Below is an example of how Tracks are stored in a Hipo file.

 SHOWING BANK
------------------------+---------------------------+
>>>> GROUP (group= 20626) (name=HitBasedTrkg::HBTracks):
------------------------+---------------------------+
          id (   SHORT) :          1
      status (   SHORT) :        100
      sector (    BYTE) :          3
        c1_x (   FLOAT) :  -128.5109
        c1_y (   FLOAT) :   115.4666
        c1_z (   FLOAT) :   506.9086
       c1_ux (   FLOAT) :     0.0032
       c1_uy (   FLOAT) :    -0.0799
       c1_uz (   FLOAT) :    -0.9968
        c3_x (   FLOAT) :  -128.7847
        c3_y (   FLOAT) :   120.8905
        c3_z (   FLOAT) :   574.3513
       c3_ux (   FLOAT) :    -0.0045
       c3_uy (   FLOAT) :     0.0802
       c3_uz (   FLOAT) :     0.9968
        t1_x (   FLOAT) :   -57.5850
        t1_y (   FLOAT) :    45.6473
        t1_z (   FLOAT) :   166.7499
       t1_px (   FLOAT) :    -0.3076
       t1_py (   FLOAT) :     0.2565
       t1_pz (   FLOAT) :     0.7588
      Vtx0_x (   FLOAT) :    -2.2362
      Vtx0_y (   FLOAT) :    -1.3091
      Vtx0_z (   FLOAT) :    28.8956
        p0_x (   FLOAT) :    -0.1872
        p0_y (   FLOAT) :     0.3537
        p0_z (   FLOAT) :     0.7590
   Cross1_ID (   SHORT) :          1
   Cross2_ID (   SHORT) :          2
   Cross3_ID (   SHORT) :          3
           q (    BYTE) :         -1
  pathlength (   FLOAT) :   583.9297
        chi2 (   FLOAT) :  9557.5850
         ndf (   SHORT) :         27
------------------------+---------------------------+

Trajectories

Below is an example of how Trajectories are stored in a Hipo file.

 SHOWING BANK
------------------------+---------------------------+
>>>> GROUP (group= 20653) (name=TimeBasedTrkg::Trajectory):
------------------------+---------------------------+
         tid (   SHORT) :          1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         1         0
         did (   SHORT) :          0         1         2         3         4         5         6        12        18        24        30        36        42        43        45        46        47        48         0
           x (   FLOAT) :    -9.9529   -3.7311   -3.7962   -3.8596   -3.9212   -3.9789   -4.0374  -13.2187  -13.7865  -18.8099  -19.4285  -22.3313  -22.9000  -25.2570  -26.2660  -26.6888  -27.0723  -27.9423    0.0000
           y (   FLOAT) :   -50.6146  -11.4803  -11.8263  -12.1727  -12.5193  -12.8522  -13.1992  -68.0507  -71.0887 -100.0908 -103.8051 -117.5637 -119.6376 -128.3220 -132.0461 -133.6067 -135.0220 -138.2330    0.0000
           z (   FLOAT) :   167.2291   30.3110   31.5104   32.7099   33.9094   35.0609   36.2604  228.7963  239.5100  355.4784  376.8500  505.6019  529.8580  631.0645  674.4456  692.6249  709.1107  746.5151    0.0000
          tx (   FLOAT) :    -0.0506   -0.0528   -0.0514   -0.0500   -0.0487   -0.0474   -0.0462   -0.0510   -0.0508   -0.0305   -0.0266   -0.0234   -0.0233   -0.0232   -0.0232   -0.0232   -0.0232   -0.0232    0.0000
          ty (   FLOAT) :    -0.2722   -0.2767   -0.2769   -0.2772   -0.2774   -0.2775   -0.2777   -0.2723   -0.2726   -0.1825   -0.1599   -0.0850   -0.0853   -0.0855   -0.0855   -0.0855   -0.0855   -0.0855    0.0000
          tz (   FLOAT) :     0.9609    0.9595    0.9595    0.9595    0.9595    0.9595    0.9596    0.9609    0.9608    0.9827    0.9868    0.9961    0.9961    0.9961    0.9961    0.9961    0.9961    0.9961    0.0000
           B (   FLOAT) :     0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
           L (   FLOAT) :   185.6421   43.1024   44.3525   45.6025   46.8526   48.0527   49.3027  249.7139  260.8645  380.5711  402.2723  531.8295  556.1809  657.7866  701.3390  719.5900  736.1409  773.6930    0.0000
------------------------+---------------------------+

Main Page

User:Friadavi