Difference between revisions of "Analysis Launch Plugin Requirements"
From GlueXWiki
(→Requirements) |
(→Loose Timing cuts) |
||
(36 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
= Example = | = Example = | ||
− | * An example plugin that meets all of the requirements: Paul's γp→K<sup>+</sup>Λ | + | * An example plugin that meets all of the requirements: [https://halldsvn.jlab.org/repos/trunk/home/pmatt/plugins/klambda/ Paul's γp→K<sup>+</sup>Λ Plugin] |
= Requirements = | = Requirements = | ||
Line 8: | Line 8: | ||
* 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 | + | * 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 === |
− | * | + | * 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 | + | ** 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) | ** 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. | ||
− | + | = Recommendations = | |
− | === Loose | + | === 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 | ||
− | * | + | ** 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 | ** BCAL: +/- 2.5 ns | ||
− | ** FCAL: +/- | + | ** FCAL: +/- 2.5 ns |
* π+, π-: | * π+, π-: | ||
** TOF: +/- 2 ns (Wide to accept muons from pion decays) | ** TOF: +/- 2 ns (Wide to accept muons from pion decays) | ||
** BCAL: +/- 2.5 ns | ** BCAL: +/- 2.5 ns | ||
− | ** FCAL: +/- | + | ** 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: +/- | + | ** FCAL: +/- 2 ns |
− | * | + | * p, pbar: |
− | ** BCAL: +/- | + | ** TOF: +/- 2.5 ns |
− | ** FCAL: +/- | + | ** 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:
Contents
Example
- An example plugin that meets all of the requirements: Paul's γp→K+Λ Plugin
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