1 |
pam-fi |
1.1 |
/* |
2 |
|
|
* TrkDOFCut.h |
3 |
|
|
* |
4 |
|
|
* Created on: 04/set/2009 |
5 |
|
|
* Author: Nicola Mori |
6 |
|
|
*/ |
7 |
|
|
|
8 |
|
|
/*! @file TrkDOFCut.h The TrkDOFCut class definition file */ |
9 |
|
|
|
10 |
|
|
#ifndef TRKDOFCUT_H_ |
11 |
|
|
#define TRKDOFCUT_H_ |
12 |
|
|
|
13 |
|
|
#include "../../PamCutBase/PamCutBase.h" |
14 |
|
|
|
15 |
|
|
/*! @brief The tracker \#DOF cut. |
16 |
|
|
* |
17 |
|
|
* This cut rejects those events which have a number of degrees of freedom less than a threshold. |
18 |
|
|
* It is possible also to set an upper limit. |
19 |
|
|
* The number of degrees of freedom is defined as the number of clusters along the track minus |
20 |
|
|
* the number of parameters of the track, which is 5. |
21 |
|
|
* CUT DEPENDENCIES: TrkPhysSin for object trkTrack |
22 |
|
|
*/ |
23 |
|
|
|
24 |
|
|
class TrkDOFCut: public PamCut { |
25 |
|
|
|
26 |
|
|
public: |
27 |
|
|
/*! @brief Constructor. |
28 |
|
|
* |
29 |
|
|
|
30 |
|
|
* |
31 |
|
|
* @param cutName The cut's name. |
32 |
|
|
* @param minDOF The minimum number of degrees of freedom. Range: [0, 7]. |
33 |
|
|
* @param maxDOF The maximum number of degrees of freedom. Range: [minDOF, 7] |
34 |
|
|
*/ |
35 |
|
|
TrkDOFCut(const char *cutName, unsigned int minDOF, unsigned int maxDOF = 7) : |
36 |
|
|
PamCut(cutName), _minDOF((int) minDOF + 5), _maxDOF((int) maxDOF + 5) { |
37 |
|
|
} |
38 |
|
|
/*! @brief Destructor. */ |
39 |
|
|
~TrkDOFCut() { |
40 |
|
|
} |
41 |
|
|
|
42 |
|
|
/*! @brief The tracker \#DOF check. |
43 |
|
|
* |
44 |
|
|
* @param event The event to analyze. |
45 |
|
|
* @return #CUTOK if the track has a number of associated clusters greater than or equal to minDOF + 5 |
46 |
|
|
* and less than or equal to maxDOF + 5; |
47 |
|
|
* |
48 |
|
|
* @return 0 otherwise. |
49 |
|
|
*/ |
50 |
|
|
int Check(PamLevel2 *event); |
51 |
|
|
|
52 |
|
|
private: |
53 |
|
|
|
54 |
|
|
int _minDOF; |
55 |
|
|
int _maxDOF; |
56 |
|
|
|
57 |
|
|
}; |
58 |
|
|
#endif /* TRKDOFCUT_H_ */ |