Difference between revisions of "Analysis Launch Plugin Requirements"

From GlueXWiki
Jump to: navigation, search
(Recommended Loose PID cuts)
(Loose Timing cuts)
 
(43 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
To make sure everything works, and to save memory and speed up the analyses, the following restrictions are placed:  
 
To make sure everything works, and to save memory and speed up the analyses, the following restrictions are placed:  
  
 +
= Example =
 +
* An example plugin that meets all of the requirements: [https://halldsvn.jlab.org/repos/trunk/home/pmatt/plugins/klambda/ Paul's &gamma;p&rarr;K<sup>+</sup>&Lambda; Plugin]
 +
 +
= Requirements =
 
=== General Requirements: ===
 
=== General Requirements: ===
  
 
* Plugins must be checked into your home area in: https://halldsvn.jlab.org/repos/trunk/home/
 
* Plugins must be checked into your home area in: https://halldsvn.jlab.org/repos/trunk/home/
* Plugins and DReactions must have unique names: No one else can use the same names (we can't run 4 plugins named "omega"), so try to do something unique (e.g. "omega_pmatt").
+
* Plugins and DReactions must have unique names: No one else can use the same names  
 +
** E.g.: We can't run 4 plugins / reactions named "omega," so try to do something unique (e.g. "omega_pmatt").
  
=== Memory Requirements ===
+
=== Memory / CPU / Disk Space / Locking Requirements ===
* Maximum of 10 DReactions per user.
+
* Do locking correctly:
 +
** In custom actions: Use action-locks in Perform_Action(), rather than japp.
 +
** In plugin processor: Use plugin-locks in evnt(), rather than japp.  
 
* Don’t use a ton of memory (e.g. many DHistogramActions).
 
* Don’t use a ton of memory (e.g. many DHistogramActions).
 +
* Try not to abuse memory / cpu / disk space. If too much is being used, we'll cull things as necessary to run smoothly.
  
 
=== Cut Requirements ===
 
=== Cut Requirements ===
 
* All analyses (i.e. DReactions) must use an EventStore skim.
 
* All analyses (i.e. DReactions) must use an EventStore skim.
 
** [[Available_EventStore_skims]]
 
** [[Available_EventStore_skims]]
* All channels must have at least the following cuts:  
+
* All channels must have at least the following cuts (or a very good reason not to):  
** Pre-combo loose mass cuts around peak
+
** Beam-RF &Delta;t cut at +/- 0.5*dBeamBunchPeriod (or wider for sideband subtraction)
 +
** Pre-combo loose mass cuts around peaks (use same cuts (or tighter) as those in skim (if any))
 
** Loose PID cuts (each particle & detector)
 
** Loose PID cuts (each particle & detector)
** Kinematic fit converges (if any).  
+
** Kinematic fit converges (if any): FOM cut at -1.0.  
 
* These cuts must be placed before the kinematic fit is performed (except kinfit confidence level, of course).
 
* These cuts must be placed before the kinematic fit is performed (except kinfit confidence level, of course).
 
** The kinematic fit is performed as soon as the fit results (e.g. 4-vectors, confidence level, etc.) are requested.
 
** The kinematic fit is performed as soon as the fit results (e.g. 4-vectors, confidence level, etc.) are requested.
  
=== Recommended Loose PID cuts ===
+
= Recommendations =
 +
=== Kinematic Fit ===
 +
* We've seen that the tracking errors are a problem in the FDC.
 +
* You can go ahead and kinematic fit, but just be careful:
 +
** Cut lower on the confidence level than you usually would, and study the signal loss when doing so.
 +
** The measured-p4 may be more accurate than the kinematic-fit p4: Histogram mass peaks with both and see which looks better for your channel
 +
* Be cautious about constraining masses: Once you do, you no longer have an unbiased handle on the background under the peak.
 +
** Mass constraints are on when P4 is fit, unless explicitly disabled
 +
 
 +
=== Loose CDC dE/dx Cut ===
 +
* See the example plugin above.
 +
 
 +
=== Loose Timing cuts ===
 
* These still let in a lot of background, but cut ~no signal
 
* These still let in a lot of background, but cut ~no signal
* Proton:
+
** It's recommended to apply these loose cuts, and to do your own momentum-dependent &Delta;t cuts later
** TOF: +/- 2.5 ns
+
* &gamma;:
 +
** BCAL: +/- 1.5 ns
 +
** FCAL: +/- 2.5 ns
 +
* e+, e-:
 +
** TOF: +/- 1 ns
 
** BCAL: +/- 2.5 ns
 
** BCAL: +/- 2.5 ns
** FCAL: +/- 3 ns
+
** FCAL: +/- 2.5 ns
 
* &pi;+, &pi;-:
 
* &pi;+, &pi;-:
** TOF: +/- 2 ns
+
** TOF: +/- 2 ns (Wide to accept muons from pion decays)
 
** BCAL: +/- 2.5 ns
 
** BCAL: +/- 2.5 ns
** FCAL: +/- 3 ns
+
** FCAL: +/- 2.5 ns
 
* K+, K-:
 
* K+, K-:
 
** TOF: +/- 0.75 ns
 
** TOF: +/- 0.75 ns
 
** BCAL: +/- 2.5 ns
 
** BCAL: +/- 2.5 ns
** FCAL: +/- 3 ns
+
** FCAL: +/- 2 ns
* &gamma;:
+
* p, pbar:
** BCAL: +/- 3 ns
+
** TOF: +/- 2.5 ns
** FCAL: +/- 5 ns
+
** BCAL: +/- 2.5 ns
 +
** FCAL: +/- 2.5 ns

Latest revision as of 16:50, 20 July 2017

To make sure everything works, and to save memory and speed up the analyses, the following restrictions are placed:

Example

Requirements

General Requirements:

  • Plugins must be checked into your home area in: https://halldsvn.jlab.org/repos/trunk/home/
  • Plugins and DReactions must have unique names: No one else can use the same names
    • E.g.: We can't run 4 plugins / reactions named "omega," so try to do something unique (e.g. "omega_pmatt").

Memory / CPU / Disk Space / Locking Requirements

  • Do locking correctly:
    • In custom actions: Use action-locks in Perform_Action(), rather than japp.
    • In plugin processor: Use plugin-locks in evnt(), rather than japp.
  • Don’t use a ton of memory (e.g. many DHistogramActions).
  • Try not to abuse memory / cpu / disk space. If too much is being used, we'll cull things as necessary to run smoothly.

Cut Requirements

  • All analyses (i.e. DReactions) must use an EventStore skim.
  • All channels must have at least the following cuts (or a very good reason not to):
    • Beam-RF Δt cut at +/- 0.5*dBeamBunchPeriod (or wider for sideband subtraction)
    • Pre-combo loose mass cuts around peaks (use same cuts (or tighter) as those in skim (if any))
    • Loose PID cuts (each particle & detector)
    • Kinematic fit converges (if any): FOM cut at -1.0.
  • These cuts must be placed before the kinematic fit is performed (except kinfit confidence level, of course).
    • The kinematic fit is performed as soon as the fit results (e.g. 4-vectors, confidence level, etc.) are requested.

Recommendations

Kinematic Fit

  • We've seen that the tracking errors are a problem in the FDC.
  • You can go ahead and kinematic fit, but just be careful:
    • Cut lower on the confidence level than you usually would, and study the signal loss when doing so.
    • The measured-p4 may be more accurate than the kinematic-fit p4: Histogram mass peaks with both and see which looks better for your channel
  • Be cautious about constraining masses: Once you do, you no longer have an unbiased handle on the background under the peak.
    • Mass constraints are on when P4 is fit, unless explicitly disabled

Loose CDC dE/dx Cut

  • See the example plugin above.

Loose Timing cuts

  • These still let in a lot of background, but cut ~no signal
    • It's recommended to apply these loose cuts, and to do your own momentum-dependent Δt cuts later
  • γ:
    • BCAL: +/- 1.5 ns
    • FCAL: +/- 2.5 ns
  • e+, e-:
    • TOF: +/- 1 ns
    • BCAL: +/- 2.5 ns
    • FCAL: +/- 2.5 ns
  • π+, π-:
    • TOF: +/- 2 ns (Wide to accept muons from pion decays)
    • BCAL: +/- 2.5 ns
    • FCAL: +/- 2.5 ns
  • K+, K-:
    • TOF: +/- 0.75 ns
    • BCAL: +/- 2.5 ns
    • FCAL: +/- 2 ns
  • p, pbar:
    • TOF: +/- 2.5 ns
    • BCAL: +/- 2.5 ns
    • FCAL: +/- 2.5 ns