Difference between revisions of "Analysis Miscellaneous"

From GlueXWiki
Jump to: navigation, search
(Created page with "== Tricks for saving time and memory == * Change the binning and/or range of the built-in histograms after constructing the corresponding <span style="color:#0000FF">DAnalysisAct...")
 
(Blanked the page)
 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Tricks for saving time and memory ==
 
* Change the binning and/or range of the built-in histograms after constructing the corresponding <span style="color:#0000FF">DAnalysisAction</span> object.
 
* Because there may be many <span style="color:#0000FF">DParticleCombo</span> objects for an event, perform as many cuts as possible prior to kinematic fitting. 
 
** This includes extremely-loose cuts (well beyond the range at which your final cut will be) on all of the physical quantities of interest (e.g. mass peaks).
 
* To branch an analysis, create a new (but identical) <span style="color:#0000FF">DReaction</span> object (with the same <span style="color:#0000FF">DReactionStep</span> pointers), then simply repeat or change any of the <span style="color:#0000FF">DAnalysisActions</span>.
 
** If the <span style="color:#0000FF">DReactionStep</span> objects are re-used, the framework will realize that the <span style="color:#0000FF">DParticleComboBlueprintStep</span> objects will be the same, and will simply reuse them. 
 
*** Note that the <span style="color:#0000FF">DParticleCombo</span> objects will not be identical since they will contain a pointer to a different <span style="color:#0000FF">DReaction</span>.
 
*** If the kinematic fit type is also the same, it will skip the kinematic fit of the new <span style="color:#0000FF">DParticleCombo</span> objects entirely and just copy the previous results since they will be identical.
 
  
== RF Beam Bunch Selection & PID Details ==
 
* Note: These routines assume high-luminosity running (i.e. too many tagger photons to distinguish the RF bunch).
 
 
=== How RF bunch selection works for an event (creating a single DEventRFBunch object) ===
 
* The measured RF time and variance are assumed to be zero (until actual measured values are introduced).
 
* In <span style="color:#0000FF">DEventRFBunch_factory</span>: loop over <span style="color:#0000FF">DTrackTimeBased</span> objects, determine the matching TOF/BCAL/ST hits, propagate the matching time to the target center and select the closest-matching RF bunch (+/- multiples of the RF bunch frequency).
 
** Note: Hit-use order: use TOF hit if present, else use BCAL hit if present and track momentum > 250 MeV/c. Only use ST hit if present and no tracks have good TOF/BCAL hits to use.
 
*** TOF-hit resolution (80ps) is good enough to pick RF bunch regardless of momentum or if correct PID is used to propagate the time (e.g. won't reconstruct protons below 300 MeV/c anyway, etc.)
 
*** BCAL resolution is ~310ps at 250 MeV/c, pi/K delta-t error is ~40ps (proton too slow): 3sigma + delta-t error = ~970ps < 1.002 ns
 
*** ST resolution projected 350ps - 400ps: not good enough to select RF bunch (OK if enough voting tracks)
 
** Note: tracks with bad vertex-z are ignored, and tracks with low track-reconstruction FOM are ignored unless there's no good tracks.
 
** Note: if there are no TOF/BCAL/ST hits with good tracks, then tracks with low tracking FOM are used.
 
*** If still no good hits, then the track times from time-based tracking is used (first from good-tracking-FOM tracks, then all).
 
* Vote: select the RF bunch that matches the most tracks (tie broken by highest average tracking FOM).
 
 
=== How DChargedTrackHypothesis PID FOM calculation works ===
 
* Determine the track start time:
 
** Try: match the track to its RF bunch using the method described above.
 
** Else try: use the DEventRFBunch RF time if it was matched to other tracks.
 
** Else try: use the measured track t0 time (ST, CDC) (will fail if t0 time = t1 time (e.g. both CDC (e.g. no ST/TOF/etc. hits of any kind)))
 
** Note: each track may match to a different RF bunch: this allows the correct PID to be determined for background tracks originating from nearby beam buckets.
 
* Propagate both the TOF/BCAL/etc. time and the RF time to the track vertex, and compare them to calculate FOM. 
 
 
=== How DNeutralParticleHypothesis PID FOM calculation works ===
 
* Propagate shower times to the target center, compare them to the <span style="color:#0000FF">DEventRFBunch</span> time.
 

Latest revision as of 08:06, 3 November 2017