Difference between revisions of "Mattione Update 09042013"
From GlueXWiki
(→CDC Track Finding - Basics) |
(→CDC Track Finding - Basics) |
||
(12 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
=== Build Super Layer Seeds === | === Build Super Layer Seeds === | ||
− | * In each ring, link adjacent hits together (DCDCRingSeed). | + | * In each ring, link adjacent hits together (<span style="color:#0000FF">DCDCRingSeed</span>). |
− | * In each super layer, link each possible combination of adjacent DCDCRingSeed's together to form super layer seeds (DCDCSuperLayerSeed). | + | * In each super layer, link each possible combination of adjacent <span style="color:#0000FF">DCDCRingSeed</span>'s together to form super layer seeds (<span style="color:#0000FF">DCDCSuperLayerSeed</span>). |
− | ** NEW: Do for both axial super layers and stereo super layers (previously just axial). | + | ** <span style="color:red">NEW</span>: Do for both axial super layers and stereo super layers (previously just axial). |
− | * NEW: Identify which DCDCSuperLayerSeed's contain potential spiral turns (where a spiraling track turns back inward/outward). | + | * <span style="color:red">NEW</span>: Identify which <span style="color:#0000FF">DCDCSuperLayerSeed</span>'s contain potential spiral turns (where a spiraling track turns back inward/outward). |
{| class="wikitable" | {| class="wikitable" | ||
| [[Image:Mattione_Update_09042013_HDView1.png|thumb|middle|200px|b1pi Event]] | | [[Image:Mattione_Update_09042013_HDView1.png|thumb|middle|200px|b1pi Event]] | ||
Line 14: | Line 14: | ||
=== Build Track Circles === | === Build Track Circles === | ||
− | * HEAVILY MODIFIED: Link adjacent DCDCSuperLayerSeed's together to form tracks (DCDCTrackCircle). | + | * <span style="color:red">HEAVILY MODIFIED</span>: Link adjacent <span style="color:#0000FF">DCDCSuperLayerSeed</span>'s together to form tracks (<span style="color:#0000FF">DCDCTrackCircle</span>). |
− | ** Previously, the axial DCDCSuperLayerSeed's were linked by progressively fitting track circles and selecting the next axial super layers that were close to the track fit. | + | ** Previously, the axial <span style="color:#0000FF">DCDCSuperLayerSeed</span>'s were linked by progressively fitting track circles and selecting the next axial super layers that were close to the track fit. |
** Start in super layer 1 (axial) and expand outwards towards super layer 7 (axial) (was previously in reverse direction) | ** Start in super layer 1 (axial) and expand outwards towards super layer 7 (axial) (was previously in reverse direction) | ||
− | ** For each unique combination of axial super layers, create a new DCDCTrackCircle object. | + | ** For each unique combination of axial super layers, create a new <span style="color:#0000FF">DCDCTrackCircle</span> object. |
− | ** Keep track of which stereo DCDCSuperLayerSeed were used when linking the DCDCTrackCircle objects. There may be (many) more than one for each super layer. | + | ** Keep track of which stereo <span style="color:#0000FF">DCDCSuperLayerSeed</span> were used when linking the <span style="color:#0000FF">DCDCTrackCircle</span> objects. There may be (many) more than one for each super layer. |
=== Fit Track Circles & Truncate: Axial === | === Fit Track Circles & Truncate: Axial === | ||
[[Image:Mattione_Update_09042013_HDView2.png|thumb|right|200px|b1pi Event]] | [[Image:Mattione_Update_09042013_HDView2.png|thumb|right|200px|b1pi Event]] | ||
− | * Fit the hits in the axial super layers (plus the beamline) to a circle with DHelicalFit. | + | * Fit the hits in the axial super layers (plus the beamline) to a circle with <span style="color:#0000FF">DHelicalFit</span>. |
** Reject tracks for which half of the axial hits are not close to the circle fit. | ** Reject tracks for which half of the axial hits are not close to the circle fit. | ||
− | * NEW: Truncate and re-fit track circles that have picked up erroneous super layer seeds in the outer super layers. | + | * <span style="color:red">NEW</span>: Truncate and re-fit track circles that have picked up erroneous super layer seeds in the outer super layers. |
** This is used to save (for example) forward-going tracks that pick up bad hits from another track (e.g. a large-angle track near in φ) | ** This is used to save (for example) forward-going tracks that pick up bad hits from another track (e.g. a large-angle track near in φ) | ||
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
Line 30: | Line 30: | ||
=== Filter Track Circles: Axial === | === Filter Track Circles: Axial === | ||
[[Image:Mattione_Update_08202013_SlowPiPlus_Event17_Spiral.png|right|thumb|200px|Spiral Track]] | [[Image:Mattione_Update_08202013_SlowPiPlus_Event17_Spiral.png|right|thumb|200px|Spiral Track]] | ||
− | * If two track circles share >= 50% of their hits, reject the DCDCTrackCircle with the worse circle-fit weighted-chisq/ndf (weighted by #axial super layers squared) | + | * If two track circles share >= 50% of their hits, reject the <span style="color:#0000FF">DCDCTrackCircle</span> with the worse circle-fit weighted-chisq/ndf (weighted by #axial super layers squared) |
− | * NEW: If two track circles are spiral-linked in their last axial super layer, have opposite charges, and have similar circle centers, reject the DCDCTrackCircle with the worse circle-fit weighted-chisq/ndf. | + | * <span style="color:red">NEW</span>: If two track circles are spiral-linked in their last axial super layer, have opposite charges, and have similar circle centers, reject the <span style="color:#0000FF">DCDCTrackCircle</span> with the worse circle-fit weighted-chisq/ndf. |
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
Line 40: | Line 40: | ||
* For all possible combinations of stereo super layers: | * For all possible combinations of stereo super layers: | ||
** Do a linear regression fit of the projected stereo hits to calculate θ & Vertex-Z | ** Do a linear regression fit of the projected stereo hits to calculate θ & Vertex-Z | ||
− | ** NEW: Select the combination of stereo super layer seeds that have the best chisq/ndf from the regression fit. | + | ** <span style="color:red">NEW</span>: Select the combination of stereo super layer seeds that have the best chisq/ndf from the regression fit. |
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
=== Filter Track Circles: Stereo === | === Filter Track Circles: Stereo === | ||
− | * NEW: Find super layer seeds that are shared between DCDCTrackCircle's, and remove them from all DCDCTrackCircle's except the one with the best weighted chisq/ndf from the regression fit. | + | * <span style="color:red">NEW</span>: Find super layer seeds that are shared between <span style="color:#0000FF">DCDCTrackCircle</span>'s, and remove them from all <span style="color:#0000FF">DCDCTrackCircle</span>'s except the one with the best weighted chisq/ndf from the regression fit. |
** Like the axial truncation, this is used to save (for example) forward-going tracks that pick up bad hits from another track (e.g. a large-angle track near in φ). | ** Like the axial truncation, this is used to save (for example) forward-going tracks that pick up bad hits from another track (e.g. a large-angle track near in φ). | ||
** However, do NOT remove the stereo super layer if it's the last one on the track. | ** However, do NOT remove the stereo super layer if it's the last one on the track. | ||
− | * NEW: If two track circles are spiral-linked in their last stereo super layer, have opposite charges, and have similar circle centers, reject the DCDCTrackCircle with the worse circle-fit weighted-chisq/ndf. | + | * <span style="color:red">NEW</span>: If two track circles are spiral-linked in their last stereo super layer, have opposite charges, and have similar circle centers, reject the <span style="color:#0000FF">DCDCTrackCircle</span> with the worse circle-fit weighted-chisq/ndf. |
=== Refinement === | === Refinement === | ||
Line 56: | Line 56: | ||
* Re-project stereo hits onto the new circle fits. | * Re-project stereo hits onto the new circle fits. | ||
* Do a linear regression fit on a subset of the projected stereo hits to calculate θ & Vertex-Z | * Do a linear regression fit on a subset of the projected stereo hits to calculate θ & Vertex-Z | ||
− | ** SEMI-NEW: A subset is chosen to optimize the final fit results. This is because there are regions/cases for which the projected stereo-hit-positions are bad. | + | ** <span style="color:red">SEMI-NEW</span>: A subset is chosen to optimize the final fit results. This is because there are regions/cases for which the projected stereo-hit-positions are bad. |
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
=== Finalize === | === Finalize === | ||
+ | [[Image:Mattione_Update_09042013_SpiralDeltaPhi.png|thumb|right|300px|Spiral Events (2nd peak due to wrong charge)]] | ||
* Calculate the position and momentum of the track at a point outside of the target and the start counter. | * Calculate the position and momentum of the track at a point outside of the target and the start counter. | ||
** This is because the track finding does not take energy-loss into account. | ** This is because the track finding does not take energy-loss into account. | ||
− | ** Note that this skews the comparison between the DTrackCandidate and DMCThrown kinematics, since they are reported at different positions (r ~= 9.5cm, r = 0cm, respectively). | + | ** Note that this skews the comparison between the <span style="color:#0000FF">DTrackCandidate</span> and <span style="color:#0000FF">DMCThrown</span> kinematics, since they are reported at different positions (r ~= 9.5cm, r = 0cm, respectively). |
− | * Create DTrackCandidate objects. | + | * Create <span style="color:#0000FF">DTrackCandidate</span> objects. |
+ | <br style="clear:both;"/> | ||
<!-- | <!-- | ||
Line 335: | Line 337: | ||
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
− | = | + | = γp→K<sup>+</sup>K<sup>+</sup>Ξ<sup>-</sup> = |
* The below plots show the track candidate and time-based track reconstruction efficiencies for both track finding codes, and the improvement. | * The below plots show the track candidate and time-based track reconstruction efficiencies for both track finding codes, and the improvement. | ||
* The definition of closeness is the same as before (see the single-track section). | * The definition of closeness is the same as before (see the single-track section). | ||
Line 342: | Line 344: | ||
=== Summary === | === Summary === | ||
* Overall track reconstruction improvement percentages for all tracks in this topology with momentum LESS than 3 GeV/c. | * Overall track reconstruction improvement percentages for all tracks in this topology with momentum LESS than 3 GeV/c. | ||
− | ** WARNING: This is not the overall gain for the topology, as | + | ** WARNING: This is not the overall gain for the topology, as some kaons have larger than 3 GeV/c of momentum (their overall gain will be slightly smaller). |
{| border="1" cellpadding="2" align="left" valign="top" style="text-align:center;" | {| border="1" cellpadding="2" align="left" valign="top" style="text-align:center;" | ||
!width="150"| Particle | !width="150"| Particle | ||
Line 348: | Line 350: | ||
!width="150"| Time-Based Tracks | !width="150"| Time-Based Tracks | ||
|- | |- | ||
− | ! | + | ! K<sup>+</sup> |
− | | | + | | 21.7% || 14.1% |
|- | |- | ||
! π<sup>-</sup> | ! π<sup>-</sup> | ||
− | | | + | | 35.1% || 28.7% |
|- | |- | ||
! p | ! p | ||
− | | 12. | + | | 12.8% || 16.7% |
+ | |} | ||
+ | <br style="clear:both;"/> | ||
+ | |||
+ | === Sample Event === | ||
+ | |||
+ | {| border="1" cellpadding="2" align="left" valign="top" style="text-align:center;" | ||
+ | !width="200"| Reconstructed Hits | ||
+ | !width="200"| Truth + Reconstructed Hits | ||
+ | !width="200"| Current (09/03/13) Code Track Candidates | ||
+ | !width="200"| Spiral Code Track Candidates | ||
+ | |- | ||
+ | | [[Image:Mattione_Update_09042013_Cascade_Event3_ReconHits.png|left|250px]] || [[Image:Mattione_Update_09042013_Cascade_Event3_TruthHits.png|left|250px]] || [[Image:Mattione_Update_09042013_Cascade_Event3_Current.png|left|250px]] || [[Image:Mattione_Update_09042013_Cascade_Event3_Spiral.png|left|250px]] || | ||
|} | |} | ||
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
Line 361: | Line 375: | ||
=== π<sup>-</sup> === | === π<sup>-</sup> === | ||
* Thrown | * Thrown | ||
− | [[Image: | + | [[Image:Mattione_Update_09042013_Thrown_PiMinus_cascade.png|thumb|left|275px|Thrown π<sup>-</sup>'s]] |
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
* Efficiencies | * Efficiencies | ||
Line 372: | Line 386: | ||
|- | |- | ||
! Track Candidates | ! Track Candidates | ||
− | | [[Image: | + | | [[Image:Mattione_Update_09042013_Efficiency_Candidates_cascade_PiMinus_Current.png|left|275px]] || [[Image:Mattione_Update_09042013_Efficiency_Candidates_cascade_PiMinus_Spiral.png|left|275px]] || [[Image:Mattione_Update_09042013_EfficiencyDiff_Candidates_cascade_PiMinus.png|left|275px]] || |
− | [[Image: | + | [[Image:Mattione_Update_09042013_EfficiencyDiffZoomed_Candidates_cascade_PiMinus.png|left|275px]] |
|- | |- | ||
! Time-Based Tracks | ! Time-Based Tracks | ||
− | | [[Image: | + | | [[Image:Mattione_Update_09042013_Efficiency_TimeBased_cascade_PiMinus_Current.png|left|275px]] || [[Image:Mattione_Update_09042013_Efficiency_TimeBased_cascade_PiMinus_Spiral.png|left|275px]] || [[Image:Mattione_Update_09042013_EfficiencyDiff_TimeBased_cascade_PiMinus.png|left|275px]] || |
− | [[Image: | + | [[Image:Mattione_Update_09042013_EfficiencyDiffZoomed_TimeBased_cascade_PiMinus.png|left|275px]] |
|} | |} | ||
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
− | === | + | === K<sup>+</sup> === |
* Thrown | * Thrown | ||
− | + | [[Image:Mattione_Update_09042013_Thrown_KPlus_cascade.png|thumb|left|275px|Thrown K<sup>+</sup>'s]] | |
− | [[Image: | + | |
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
* Efficiencies | * Efficiencies | ||
Line 395: | Line 408: | ||
|- | |- | ||
! Track Candidates | ! Track Candidates | ||
− | | [[Image: | + | | [[Image:Mattione_Update_09042013_Efficiency_Candidates_cascade_KPlus_Current.png|left|275px]] || [[Image:Mattione_Update_09042013_Efficiency_Candidates_cascade_KPlus_Spiral.png|left|275px]] || [[Image:Mattione_Update_09042013_EfficiencyDiff_Candidates_cascade_KPlus.png|left|275px]] || |
− | [[Image: | + | [[Image:Mattione_Update_09042013_EfficiencyDiffZoomed_Candidates_cascade_KPlus.png|left|275px]] |
|- | |- | ||
! Time-Based Tracks | ! Time-Based Tracks | ||
− | | [[Image: | + | | [[Image:Mattione_Update_09042013_Efficiency_TimeBased_cascade_KPlus_Current.png|left|275px]] || [[Image:Mattione_Update_09042013_Efficiency_TimeBased_cascade_KPlus_Spiral.png|left|275px]] || [[Image:Mattione_Update_09042013_EfficiencyDiff_TimeBased_cascade_KPlus.png|left|275px]] || |
− | [[Image: | + | [[Image:Mattione_Update_09042013_EfficiencyDiffZoomed_TimeBased_cascade_KPlus.png|left|275px]] |
|} | |} | ||
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
− | = | + | === Proton === |
+ | * Thrown | ||
+ | [[Image:Mattione_Update_09042013_Thrown_Proton_cascade.png|thumb|left|275px|Thrown Proton's]] | ||
+ | <br style="clear:both;"/> | ||
+ | * Efficiencies | ||
+ | {| border="1" cellpadding="2" align="left" valign="top" style="text-align:center;" | ||
+ | !width="150"| Stage | ||
+ | !width="250"| Efficiency - Current Code | ||
+ | !width="250"| Efficiency - Spiral Code | ||
+ | !width="250"| Improvement | ||
+ | |- | ||
+ | ! Track Candidates | ||
+ | | [[Image:Mattione_Update_09042013_Efficiency_Candidates_cascade_Proton_Current.png|left|275px]] || [[Image:Mattione_Update_09042013_Efficiency_Candidates_cascade_Proton_Spiral.png|left|275px]] || [[Image:Mattione_Update_09042013_EfficiencyDiff_Candidates_cascade_Proton.png|left|275px]] | ||
+ | |- | ||
+ | ! Time-Based Tracks | ||
+ | | [[Image:Mattione_Update_09042013_Efficiency_TimeBased_cascade_Proton_Current.png|left|275px]] || [[Image:Mattione_Update_09042013_Efficiency_TimeBased_cascade_Proton_Spiral.png|left|275px]] || [[Image:Mattione_Update_09042013_EfficiencyDiff_TimeBased_cascade_Proton.png|left|275px]] | ||
+ | |} | ||
+ | <br style="clear:both;"/> | ||
+ | |||
+ | = bggen (pythia) = | ||
* The below plots show the track candidate and time-based track reconstruction efficiencies for both track finding codes, and the improvement. | * The below plots show the track candidate and time-based track reconstruction efficiencies for both track finding codes, and the improvement. | ||
* The definition of closeness is the same as before (see the single-track section). | * The definition of closeness is the same as before (see the single-track section). | ||
Line 411: | Line 443: | ||
=== Summary === | === Summary === | ||
* Overall track reconstruction improvement percentages for all tracks in this topology with momentum LESS than 3 GeV/c. | * Overall track reconstruction improvement percentages for all tracks in this topology with momentum LESS than 3 GeV/c. | ||
− | ** WARNING: This is not the overall gain for the topology, as | + | ** WARNING: This is not the overall gain for the topology, as many pions have larger than 3 GeV/c of momentum (their overall gain will be smaller). |
{| border="1" cellpadding="2" align="left" valign="top" style="text-align:center;" | {| border="1" cellpadding="2" align="left" valign="top" style="text-align:center;" | ||
!width="150"| Particle | !width="150"| Particle | ||
Line 417: | Line 449: | ||
!width="150"| Time-Based Tracks | !width="150"| Time-Based Tracks | ||
|- | |- | ||
− | ! | + | ! π<sup>+</sup> |
− | | | + | | 16.7% || 11.3% |
|- | |- | ||
! π<sup>-</sup> | ! π<sup>-</sup> | ||
− | | | + | | 21.8% || 12.7% |
|- | |- | ||
! p | ! p | ||
− | | 12. | + | | 12.4% || 6.92% |
|} | |} | ||
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
Line 430: | Line 462: | ||
=== π<sup>-</sup> === | === π<sup>-</sup> === | ||
* Thrown | * Thrown | ||
− | [[Image: | + | [[Image:Mattione_Update_09042013_Thrown_PiMinus_bggen.png|thumb|left|275px|Thrown π<sup>-</sup>'s]] |
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
* Efficiencies | * Efficiencies | ||
Line 441: | Line 473: | ||
|- | |- | ||
! Track Candidates | ! Track Candidates | ||
− | | [[Image: | + | | [[Image:Mattione_Update_09042013_Efficiency_Candidates_bggen_PiMinus_Current.png|left|275px]] || [[Image:Mattione_Update_09042013_Efficiency_Candidates_bggen_PiMinus_Spiral.png|left|275px]] || [[Image:Mattione_Update_09042013_EfficiencyDiff_Candidates_bggen_PiMinus.png|left|275px]] || |
− | [[Image: | + | [[Image:Mattione_Update_09042013_EfficiencyDiffZoomed_Candidates_bggen_PiMinus.png|left|275px]] |
|- | |- | ||
! Time-Based Tracks | ! Time-Based Tracks | ||
− | | [[Image: | + | | [[Image:Mattione_Update_09042013_Efficiency_TimeBased_bggen_PiMinus_Current.png|left|275px]] || [[Image:Mattione_Update_09042013_Efficiency_TimeBased_bggen_PiMinus_Spiral.png|left|275px]] || [[Image:Mattione_Update_09042013_EfficiencyDiff_TimeBased_bggen_PiMinus.png|left|275px]] || |
− | [[Image: | + | [[Image:Mattione_Update_09042013_EfficiencyDiffZoomed_TimeBased_bggen_PiMinus.png|left|275px]] |
|} | |} | ||
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
− | === | + | === Proton === |
* Thrown | * Thrown | ||
− | [[Image: | + | ** Note this is in log-scale. |
+ | [[Image:Mattione_Update_09042013_Thrown_Proton_bggen.png|thumb|left|275px|Thrown Proton's]] | ||
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
* Efficiencies | * Efficiencies | ||
Line 463: | Line 496: | ||
|- | |- | ||
! Track Candidates | ! Track Candidates | ||
− | | [[Image: | + | | [[Image:Mattione_Update_09042013_Efficiency_Candidates_bggen_Proton_Current.png|left|275px]] || [[Image:Mattione_Update_09042013_Efficiency_Candidates_bggen_Proton_Spiral.png|left|275px]] || [[Image:Mattione_Update_09042013_EfficiencyDiff_Candidates_bggen_Proton.png|left|275px]] || |
− | [[Image: | + | [[Image:Mattione_Update_09042013_EfficiencyDiffZoomed_Candidates_bggen_Proton.png|left|275px]] |
|- | |- | ||
! Time-Based Tracks | ! Time-Based Tracks | ||
− | | [[Image: | + | | [[Image:Mattione_Update_09042013_Efficiency_TimeBased_bggen_Proton_Current.png|left|275px]] || [[Image:Mattione_Update_09042013_Efficiency_TimeBased_bggen_Proton_Spiral.png|left|275px]] || [[Image:Mattione_Update_09042013_EfficiencyDiff_TimeBased_bggen_Proton.png|left|275px]] || |
− | [[Image: | + | [[Image:Mattione_Update_09042013_EfficiencyDiffZoomed_TimeBased_bggen_Proton.png|left|275px]] |
|} | |} | ||
<br style="clear:both;"/> | <br style="clear:both;"/> | ||
− | = | + | = Hit Selector - bggen (pythia) Events = |
− | * | + | * New Code Only: Time-Based Track Efficiency improvements with hit selector disabled at all stages. |
− | + | ||
− | + | ||
− | + | ||
{| border="1" cellpadding="2" align="left" valign="top" style="text-align:center;" | {| border="1" cellpadding="2" align="left" valign="top" style="text-align:center;" | ||
− | !width=" | + | !width="300"| Protons |
− | !width=" | + | !width="300"| π<sup>+</sup>'s |
− | !width=" | + | !width="300"| π<sup>-</sup>'s |
− | + | ||
|- | |- | ||
− | + | | [[Image:Mattione_Update_09042013_Efficiency_NoHitSelector_bggen_Proton.png|left|300px]] || [[Image:Mattione_Update_09042013_Efficiency_NoHitSelector_bggen_PiPlus.png|left|300px]] || [[Image:Mattione_Update_09042013_Efficiency_NoHitSelector_bggen_PiMinus.png|left|300px]] | |
− | | [[Image: | + | |
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
<br style="clear:both;"/> | <br style="clear:both;"/> |
Latest revision as of 13:26, 4 September 2013
Contents
CDC Track Finding - Basics
- Note: Some steps (and many details) are omitted entirely in this brief overview.
Build Super Layer Seeds
- In each ring, link adjacent hits together (DCDCRingSeed).
- In each super layer, link each possible combination of adjacent DCDCRingSeed's together to form super layer seeds (DCDCSuperLayerSeed).
- NEW: Do for both axial super layers and stereo super layers (previously just axial).
- NEW: Identify which DCDCSuperLayerSeed's contain potential spiral turns (where a spiraling track turns back inward/outward).
Build Track Circles
- HEAVILY MODIFIED: Link adjacent DCDCSuperLayerSeed's together to form tracks (DCDCTrackCircle).
- Previously, the axial DCDCSuperLayerSeed's were linked by progressively fitting track circles and selecting the next axial super layers that were close to the track fit.
- Start in super layer 1 (axial) and expand outwards towards super layer 7 (axial) (was previously in reverse direction)
- For each unique combination of axial super layers, create a new DCDCTrackCircle object.
- Keep track of which stereo DCDCSuperLayerSeed were used when linking the DCDCTrackCircle objects. There may be (many) more than one for each super layer.
Fit Track Circles & Truncate: Axial
- Fit the hits in the axial super layers (plus the beamline) to a circle with DHelicalFit.
- Reject tracks for which half of the axial hits are not close to the circle fit.
- NEW: Truncate and re-fit track circles that have picked up erroneous super layer seeds in the outer super layers.
- This is used to save (for example) forward-going tracks that pick up bad hits from another track (e.g. a large-angle track near in φ)
Filter Track Circles: Axial
- If two track circles share >= 50% of their hits, reject the DCDCTrackCircle with the worse circle-fit weighted-chisq/ndf (weighted by #axial super layers squared)
- NEW: If two track circles are spiral-linked in their last axial super layer, have opposite charges, and have similar circle centers, reject the DCDCTrackCircle with the worse circle-fit weighted-chisq/ndf.
Select Stereo Super Layer Seeds
- Previously, all stereo hits that intersected the circle and were nearby were lumped all together. Now, stereo super layer seeds are used instead.
- Project all hits from all possible stereo super layers onto the circle.
- For all possible combinations of stereo super layers:
- Do a linear regression fit of the projected stereo hits to calculate θ & Vertex-Z
- NEW: Select the combination of stereo super layer seeds that have the best chisq/ndf from the regression fit.
Filter Track Circles: Stereo
- NEW: Find super layer seeds that are shared between DCDCTrackCircle's, and remove them from all DCDCTrackCircle's except the one with the best weighted chisq/ndf from the regression fit.
- Like the axial truncation, this is used to save (for example) forward-going tracks that pick up bad hits from another track (e.g. a large-angle track near in φ).
- However, do NOT remove the stereo super layer if it's the last one on the track.
- NEW: If two track circles are spiral-linked in their last stereo super layer, have opposite charges, and have similar circle centers, reject the DCDCTrackCircle with the worse circle-fit weighted-chisq/ndf.
Refinement
- Find single, unused hits in the next (outward) super layer and add them to track circles if nearby.
- This primarily helps tracks that exit the CDC early (e.g. forward going).
- Redo circle fits, using both the new hits added just before, as well as the intersection points between the two stereo super layers (e.g. SL2 & SL3).
- Re-project stereo hits onto the new circle fits.
- Do a linear regression fit on a subset of the projected stereo hits to calculate θ & Vertex-Z
- SEMI-NEW: A subset is chosen to optimize the final fit results. This is because there are regions/cases for which the projected stereo-hit-positions are bad.
Finalize
- Calculate the position and momentum of the track at a point outside of the target and the start counter.
- This is because the track finding does not take energy-loss into account.
- Note that this skews the comparison between the DTrackCandidate and DMCThrown kinematics, since they are reported at different positions (r ~= 9.5cm, r = 0cm, respectively).
- Create DTrackCandidate objects.
Single π+ Track
Single π+ Reconstruction: Current (Trunk) Code, trackeff_hists plugin
- The below plots show the track reconstruction efficiency and resolution for the trunk using the single-track scripts plugin (trackeff_hists).
- However, this efficiency is extremely misleading:
- If a track is reconstructed using any of the hits that were on the thrown track it is considered "found."
- This is regardless of whether the reconstructed track momentum is anywhere close to the thrown values.
Single π+ Reconstruction: Current (Trunk) Code, NEW trackeffv2 plugin
- The below plots show the track candidate and time-based track reconstruction efficiency for the trunk using a new plugin (trackeff_hists).
- This plugin compares matches all of the thrown and reconstructed particles in the event, and requires that their momentum be "close."
- "Close" for track candidates is defined as: Δp/p < 20%, Δθ < 40 degrees, Δφ < 40 degrees, ΔVertex-Z < 1 km
- For thrown tracks with θ < 5 degrees, there is no cut on the candidate Δφ
- "Close" for time-based tracks is defined as: Δp/p < 10%, Δθ < 15 degrees, Δφ < 15 degrees, ΔVertex-Z < 10 cm
- "Close" for track candidates is defined as: Δp/p < 20%, Δθ < 40 degrees, Δφ < 40 degrees, ΔVertex-Z < 1 km
- Note that the degradation of the efficiency at forward angles matches the track resolution plot in the previous section.
- If I expand the requirements for the "Close" window, the efficiency increases, and the chosen parameters were somewhat arbitrary.
Single π+ Reconstruction: NEW Spiral Code
- The below plots show the track candidate and time-based track reconstruction efficiencies for the new spiral code.
- Note: The trackeffv2 plugin compares matches all of the thrown and reconstructed particles in the event, and requires that their momentum be "close."
- "Close" for track candidates is defined as: Δp/p < 20%, Δθ < 40 degrees, Δφ < 40 degrees, ΔVertex-Z < 1 km
- For thrown tracks with θ < 5 degrees, there is no cut on the candidate Δφ
- "Close" for time-based tracks is defined as: Δp/p < 10%, Δθ < 15 degrees, Δφ < 15 degrees, ΔVertex-Z < 10 cm
- "Close" for track candidates is defined as: Δp/p < 20%, Δθ < 40 degrees, Δφ < 40 degrees, ΔVertex-Z < 1 km
- Selected Track Candidate 1-D Kinematics Comparisons
- The below plots show the improvements in the track candidate and time-based track reconstruction efficiencies with the new spiral code.
γp→π+π+π-(n)
- The below plots show the track candidate and time-based track reconstruction efficiencies for both track finding codes, and the improvement.
- The definition of closeness is the same as before (see the single-track section).
- Events were generated at beam energy of 9 GeV and a t-slope of 5.0
Summary
- Overall track reconstruction improvement percentages for all tracks in this topology with momentum LESS than 3 GeV/c.
- WARNING: This is not the overall gain for the topology, as many pions have larger than 3 GeV/c of momentum (their overall gain will be smaller).
Particle | Track Candidates | Time-Based Tracks |
---|---|---|
π+ | 10.3% | 5.38% |
π- | 8.08% | 4.47% |
π+
- Thrown, Track Candidate 1-D Kinematics
- Efficiencies
Stage | Efficiency - Current Code | Efficiency - Spiral Code | Improvement | Improvement - Zoomed |
---|---|---|---|---|
Track Candidates | ||||
Time-Based Tracks |
γp→π+π+π-π-π0(p) (b1pi)
- The below plots show the track candidate and time-based track reconstruction efficiencies for both track finding codes, and the improvement.
- The definition of closeness is the same as before (see the single-track section).
- Events were generated with a beam energy of 9 GeV and a t-slope of 5.0
Summary
- Overall track reconstruction improvement percentages for all tracks in this topology with momentum LESS than 3 GeV/c.
- WARNING: This is not the overall gain for the topology, as many pions have larger than 3 GeV/c of momentum (their overall gain will be smaller).
Particle | Track Candidates | Time-Based Tracks |
---|---|---|
π+ | 7.93% | 5.21% |
π- | 12.5% | 6.23% |
p | 23.7% | 22.6% |
π-
- Thrown
- Efficiencies
Stage | Efficiency - Current Code | Efficiency - Spiral Code | Improvement | Improvement - Zoomed |
---|---|---|---|---|
Track Candidates | ||||
Time-Based Tracks |
Proton
- Thrown, Track Candidate 1-D Kinematics
- Efficiencies
Stage | Efficiency - Current Code | Efficiency - Spiral Code | Improvement |
---|---|---|---|
Track Candidates | |||
Time-Based Tracks |
γp→K+K+Ξ-
- The below plots show the track candidate and time-based track reconstruction efficiencies for both track finding codes, and the improvement.
- The definition of closeness is the same as before (see the single-track section).
- Events were generated with beam energies between 8.4 and 9 GeV
Summary
- Overall track reconstruction improvement percentages for all tracks in this topology with momentum LESS than 3 GeV/c.
- WARNING: This is not the overall gain for the topology, as some kaons have larger than 3 GeV/c of momentum (their overall gain will be slightly smaller).
Particle | Track Candidates | Time-Based Tracks |
---|---|---|
K+ | 21.7% | 14.1% |
π- | 35.1% | 28.7% |
p | 12.8% | 16.7% |
Sample Event
Reconstructed Hits | Truth + Reconstructed Hits | Current (09/03/13) Code Track Candidates | Spiral Code Track Candidates | |
---|---|---|---|---|
π-
- Thrown
- Efficiencies
Stage | Efficiency - Current Code | Efficiency - Spiral Code | Improvement | Improvement - Zoomed |
---|---|---|---|---|
Track Candidates | ||||
Time-Based Tracks |
K+
- Thrown
- Efficiencies
Stage | Efficiency - Current Code | Efficiency - Spiral Code | Improvement | Improvement - Zoomed |
---|---|---|---|---|
Track Candidates | ||||
Time-Based Tracks |
Proton
- Thrown
- Efficiencies
Stage | Efficiency - Current Code | Efficiency - Spiral Code | Improvement |
---|---|---|---|
Track Candidates | |||
Time-Based Tracks |
bggen (pythia)
- The below plots show the track candidate and time-based track reconstruction efficiencies for both track finding codes, and the improvement.
- The definition of closeness is the same as before (see the single-track section).
- Events were generated with beam energies between 8.4 and 9 GeV
Summary
- Overall track reconstruction improvement percentages for all tracks in this topology with momentum LESS than 3 GeV/c.
- WARNING: This is not the overall gain for the topology, as many pions have larger than 3 GeV/c of momentum (their overall gain will be smaller).
Particle | Track Candidates | Time-Based Tracks |
---|---|---|
π+ | 16.7% | 11.3% |
π- | 21.8% | 12.7% |
p | 12.4% | 6.92% |
π-
- Thrown
- Efficiencies
Stage | Efficiency - Current Code | Efficiency - Spiral Code | Improvement | Improvement - Zoomed |
---|---|---|---|---|
Track Candidates | ||||
Time-Based Tracks |
Proton
- Thrown
- Note this is in log-scale.
- Efficiencies
Stage | Efficiency - Current Code | Efficiency - Spiral Code | Improvement | Improvement - Zoomed |
---|---|---|---|---|
Track Candidates | ||||
Time-Based Tracks |
Hit Selector - bggen (pythia) Events
- New Code Only: Time-Based Track Efficiency improvements with hit selector disabled at all stages.
Protons | π+'s | π-'s |
---|---|---|