/[PAMELA software]/PamCut/CaloCuts/CaloNotIntCut/CaloNotIntCut.h
ViewVC logotype

Contents of /PamCut/CaloCuts/CaloNotIntCut/CaloNotIntCut.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Wed May 27 13:30:09 2009 UTC (15 years, 6 months ago) by pam-fi
Branch: MAIN
Branch point for: DEV
File MIME type: text/plain
Initial revision

1 /*
2 * CaloNotIntCut.h
3 *
4 * Created on: 17-mar-2009
5 * Author: Nicola Mori
6 */
7
8 /*! @file CaloNotIntCut.h The CaloNotIntCut class definition file */
9
10 #ifndef CALONOTINTCUT_H_
11 #define CALONOTINTCUT_H_
12
13 #include "../../PamCutBase/PamCutBase.h"
14 #include "../../CaloAxis2.h"
15
16 /*! @brief The non-interacting track cut.
17 * This check discards all the events who interacts in the calorimeter. It is possible to choose the track to use for
18 * the check. To improve computation speed, Check does NOT computes the track for the event; the track information
19 * is supposed to lie in some external object, whose address has to be passed to the constructor. The user is then
20 * demanded to fill this external object with the proper track information for the current event before calling Check
21 * or ApplyCut.
22 * Currently, only the check with the calorimeter track is implemented.
23 *
24 * CUT DEPENDENCIES: CaloTrackCut for the existence of the track (it can also provide the CaloAxis objects).
25 */
26
27 class CaloNotIntCut: public PamCut {
28
29 public:
30 /*! @brief Constructor for tracker track.
31 * Use this constructor if you want to use the tracker track to perform the
32 * non-interaction check.
33 *
34 * NOTE: Check() for this constructor is not implemented yet.
35 *
36 * @param cutName The name of the cut.
37 * @param trkTrack Pointer to the tracker track object.
38 * * @param qRatioMin The minimum threshold for the ratio between track charge and total charge in CALO.
39 */
40 CaloNotIntCut(const char *cutName, TrkTrack *trkTrack, float qRatioMin=0.8) :
41 PamCut(cutName), _trkTrack(trkTrack), _xCaloAxis(NULL), _yCaloAxis(NULL), _qRatioMin(qRatioMin) {
42 }
43
44 /*! @brief Constructor for calorimeter track.
45 * Use this constructor if you want to use the calorimeter track to perform the
46 * non-interaction check.
47 *
48 * @param cutName The name of the cut.
49 * @param xCaloAxis The pointer to the CaloAxis object for X axis
50 * @param yCaloAxis The pointer to the CaloAxis object for Y axis
51 * @param qRatioMin The minimum threshold for the ratio between track charge and total charge in CALO.
52 * @return
53 */
54 CaloNotIntCut(const char *cutName, CaloAxis *xCaloAxis, CaloAxis *yCaloAxis, float qRatioMin=0.8) :
55 PamCut(cutName), _trkTrack(NULL), _xCaloAxis(xCaloAxis), _yCaloAxis(yCaloAxis), _qRatioMin(qRatioMin) {
56 }
57
58 //TODO: aggiungere il costruttore per il TOF.
59
60 /*! @brief Destructor. */
61 ~CaloNotIntCut() {
62 }
63
64 /*! @brief The non-interacting track check.
65 *
66 * @param event The event to analyze.
67 * @return #CUTOK if the ratio between the charge released along the Calo track
68 * and the total released charge is greater than qRatioMin.
69 * @return 0 otherwise.
70 */
71 int Check(PamLevel2 *event);
72
73 private:
74
75 TrkTrack *_trkTrack;
76 CaloAxis *_xCaloAxis, *_yCaloAxis;
77 float _qRatioMin;
78
79 };
80 #endif /* CALONOTINTCUT_H_ */

  ViewVC Help
Powered by ViewVC 1.1.23