1 |
/* |
2 |
* TofBetaRangeCut.h |
3 |
* |
4 |
* Created on: 10-apr-2009 |
5 |
* Author: Nicola Mori, S. Ricciarini |
6 |
*/ |
7 |
|
8 |
/*! @file TofBetaRangeCut.h The TofBetaRangeCut class definition file */ |
9 |
|
10 |
#ifndef TOFBETARANGECUT_H_ |
11 |
#define TOFBETARANGECUT_H_ |
12 |
|
13 |
#include "../../PamCutBase/PamCutBase.h" |
14 |
|
15 |
|
16 |
/*! @brief The TofBetaRange cut. |
17 |
* This cut selects a range of beta values. Note that beta can be either positive (downward going particle) or negative (upward going particle). |
18 |
*/ |
19 |
|
20 |
class TofBetaRangeCut: public PamCut { |
21 |
|
22 |
public: |
23 |
/*! @brief Constructor. |
24 |
* The parameters are: the TOF-index for the track which is necessary to input to derive the beta; resMax, qualCut and chi2Cut for the quality of beta; the minimum and maximum beta values. |
25 |
* Various combinations of quality parameters are possible: default low-quality beta (used for beta[12]): 10.,10.,20.; medium-quality beta: 5.,15.,4.; high-quality beta: 3.,20.,3. |
26 |
* NOTE: beta can be either positive (downward going particle) or negative (upward going particle). Beta = 100 means beta calculation was not successful. |
27 |
|
28 |
* @param cutName The cut's name. |
29 |
* @param trackTof Pointer to the TOF-index indicating the track to be used when evaluating |
30 |
* the beta (default value for TOF_index is 0, corresponding to the TOF stand-alone |
31 |
* track [no TRK information to build the TOF stand-alone track]). The pointer to the |
32 |
* TOF_index for TRK-track as given by TrkPhSinCut can be used. |
33 |
* |
34 |
* @param resMax Default: 10. (equivalent to beta[12]) |
35 |
* @param qualCut Default: 10. (equivalent to beta[12]) |
36 |
* @param chi2Cut Default: 20. (equivalent to beta[12]) |
37 |
* @param minBeta the minimum beta value (with sign) |
38 |
* @param maxBeta the maximum beta value (with sign) |
39 |
*/ |
40 |
TofBetaRangeCut(const char *cutName, int *trackTof=NULL, float resMax=10., float qualCut=10., float chi2Cut=20., float minBeta=-100., float maxBeta=100.): |
41 |
PamCut(cutName), _trackTof(trackTof), _resMax(resMax), _qualCut(qualCut), _chi2Cut(chi2Cut), _minBeta(minBeta), _maxBeta(maxBeta) { |
42 |
} |
43 |
/*! @brief Destructor. */ |
44 |
~TofBetaRangeCut() { |
45 |
} |
46 |
|
47 |
/*! @brief The TofBetaRange check. |
48 |
* |
49 |
* @param event The event to analyze. |
50 |
* @return #CUTOK if particle beta is inside the specified range (minBeta < beta < maxBeta) |
51 |
* @return 0 otherwise |
52 |
*/ |
53 |
int Check(PamLevel2 *event); |
54 |
|
55 |
private: |
56 |
|
57 |
int *_trackTof; |
58 |
float _resMax, _qualCut, _chi2Cut; |
59 |
|
60 |
float _minBeta, _maxBeta; |
61 |
|
62 |
}; |
63 |
|
64 |
#endif /* TOFBETARANGECUT_H_ */ |