1 |
pam-fi |
1.1 |
/* |
2 |
|
|
* TrkPhSinCut.h |
3 |
|
|
* |
4 |
|
|
* Created on: 13-mar-2009 |
5 |
|
|
* Author: Nicola Mori, S. Ricciarini |
6 |
|
|
*/ |
7 |
|
|
|
8 |
|
|
/*! @file TrkPhSinCut.h The TrkPhSinCut class definition file */ |
9 |
|
|
|
10 |
|
|
#ifndef TRKPHSINCUT_H_ |
11 |
|
|
#define TRKPHSINCUT_H_ |
12 |
|
|
|
13 |
|
|
#include "../../PamCutBase/PamCutBase.h" |
14 |
|
|
|
15 |
|
|
/*! @brief The single physical track cut. |
16 |
|
|
* Only events with a single physical track (selected according to the specified sorting method) survive this selection. |
17 |
|
|
*/ |
18 |
|
|
|
19 |
|
|
class TrkPhSinCut: public PamCut { |
20 |
|
|
|
21 |
|
|
public: |
22 |
pam-fi |
1.2 |
|
23 |
pam-fi |
1.1 |
/*! @brief Constructor. |
24 |
|
|
* |
25 |
|
|
* @param cutName The cut's name. |
26 |
pam-fi |
1.2 |
* @param trkAlg The tracking algorythm used to check the track. |
27 |
pam-fi |
1.1 |
* @param sortingMethod The sorting method to be used to select the track. |
28 |
pam-fi |
1.2 |
* In order to perform consistent tracking cuts, the same tracking algorythm should be set in subsequent cuts |
29 |
|
|
* ("STD","EXT","EXTF","NUCSTD","NUCEXT","NUCEXTF") |
30 |
pam-fi |
1.1 |
*/ |
31 |
pam-fi |
1.2 |
TrkPhSinCut(const char *cutName, const char *alg, const char *sortingMethod) : |
32 |
|
|
PamCut(cutName), trkAlg(alg), _sortingMethod(sortingMethod) { |
33 |
|
|
|
34 |
|
|
// pamTrack = new PamTrack(); |
35 |
|
|
|
36 |
|
|
} |
37 |
|
|
|
38 |
|
|
/* /\*! @brief Constructor. */ |
39 |
|
|
/* * */ |
40 |
|
|
/* * @param cutName The cut's name. */ |
41 |
|
|
/* * @param sortingMethod The sorting method to be used to select the track. */ |
42 |
|
|
/* * (standard tracking algorythm is assumed) */ |
43 |
|
|
/* *\/ */ |
44 |
|
|
/* TrkPhSinCut(const char *cutName, const char *sortingMethod) : */ |
45 |
|
|
/* PamCut(cutName), _sortingMethod(sortingMethod) { */ |
46 |
|
|
/* _trkAlg = "STD"; */ |
47 |
|
|
/* } */ |
48 |
|
|
|
49 |
pam-fi |
1.1 |
/*! @brief Destructor. */ |
50 |
pam-fi |
1.2 |
~TrkPhSinCut() { |
51 |
pam-fi |
1.1 |
} |
52 |
|
|
|
53 |
|
|
/*! @brief The single physical track check. |
54 |
|
|
* |
55 |
|
|
* @param event The event to analyze. |
56 |
|
|
* @return #CUTOK if a single physical track has been found in the event |
57 |
|
|
* @return 0 if the event has not exactly one physical track or if the track is meaningless |
58 |
|
|
* (nstep > 100 or chi2 < 0.) |
59 |
|
|
*/ |
60 |
|
|
int Check(PamLevel2 *event); |
61 |
|
|
|
62 |
pam-fi |
1.2 |
const char *trkAlg;///<Tracking algorythm |
63 |
pam-fi |
1.1 |
|
64 |
|
|
|
65 |
|
|
/*! @brief The PamTrack for the last good event. |
66 |
|
|
* |
67 |
|
|
* When this cut checks an event, it stores its PamTrack (selected according to the specified sortingMethod). This can then be used by successive cuts. |
68 |
|
|
*/ |
69 |
pam-fi |
1.2 |
// PamTrack *pamTrack; |
70 |
pam-fi |
1.1 |
|
71 |
|
|
private: |
72 |
|
|
|
73 |
|
|
const char *_sortingMethod; |
74 |
|
|
|
75 |
|
|
}; |
76 |
|
|
#endif /* TRKPHSINCUT_H_ */ |