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

Annotation of /PamCut/CaloCuts/CaloNotIntCut/CaloNotIntCut.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (hide annotations) (download)
Thu Jul 8 14:00:29 2010 UTC (14 years, 4 months ago) by pam-fi
Branch: MAIN
CVS Tags: MergedFromV8_1, V9, HEAD
Changes since 1.3: +14 -5 lines
File MIME type: text/plain
Merged from branch V8 (tag MergedToHEAD_1). Tag before the merge: BeforeMergingFromV8_1.

1 pam-fi 1.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 pam-fi 1.4 #ifndef NO_CALOAXIS
15     #include <CaloAxis.h>
16     #endif /* NO_CALOAXIS */
17 pam-fi 1.1
18     /*! @brief The non-interacting track cut.
19     * This check discards all the events who interacts in the calorimeter. It is possible to choose the track to use for
20 pam-fi 1.2 * the check. To improve computation speed, Check does NOT compute the track for the event; the track information
21 pam-fi 1.1 * is supposed to lie in some external object, whose address has to be passed to the constructor. The user is then
22     * demanded to fill this external object with the proper track information for the current event before calling Check
23     * or ApplyCut.
24 pam-fi 1.2 * Currently, the checks with the calorimeter L2 track and with CaloAxis track are implemented.
25 pam-fi 1.1 *
26     * CUT DEPENDENCIES: CaloTrackCut for the existence of the track (it can also provide the CaloAxis objects).
27     */
28    
29     class CaloNotIntCut: public PamCut {
30    
31     public:
32 pam-fi 1.2 /*! @brief Constructor for calorimeter L2 track.
33     * Use this constructor if you want to use the L2 calorimeter track to perform the
34 pam-fi 1.1 * non-interaction check.
35     *
36     * @param cutName The name of the cut.
37 pam-fi 1.2 * @param pamTrack Pointer to the Pamela track object.
38     * @param qRatioMin The minimum threshold for the ratio between track charge and total charge in CALO.
39 pam-fi 1.1 */
40 pam-fi 1.4
41     CaloNotIntCut(const char *cutName, PamTrack **pamTrack, float qRatioMin = 0.8) :
42     PamCut(cutName), _pamTrack(pamTrack), _qRatioMin(qRatioMin) {
43     #ifndef NO_CALOAXIS
44     _xCaloAxis = _yCaloAxis = NULL;
45     #endif /* NO_CALOAXIS */
46 pam-fi 1.1 }
47    
48     /*! @brief Constructor for calorimeter track.
49 pam-fi 1.2 * Use this constructor if you want to use the CaloAxis track to perform the
50 pam-fi 1.1 * non-interaction check.
51     *
52     * @param cutName The name of the cut.
53     * @param xCaloAxis The pointer to the CaloAxis object for X axis
54     * @param yCaloAxis The pointer to the CaloAxis object for Y axis
55     * @param qRatioMin The minimum threshold for the ratio between track charge and total charge in CALO.
56     * @return
57     */
58 pam-fi 1.4 #ifndef NO_CALOAXIS
59     CaloNotIntCut(const char *cutName, CaloAxis *xCaloAxis, CaloAxis *yCaloAxis, float qRatioMin = 0.8) :
60 pam-fi 1.2 PamCut(cutName), _pamTrack(NULL), _xCaloAxis(xCaloAxis), _yCaloAxis(yCaloAxis), _qRatioMin(qRatioMin) {
61 pam-fi 1.1 }
62 pam-fi 1.4 #endif /* NO_CALOAXIS */
63 pam-fi 1.1 //TODO: aggiungere il costruttore per il TOF.
64    
65     /*! @brief Destructor. */
66     ~CaloNotIntCut() {
67     }
68    
69     /*! @brief The non-interacting track check.
70     *
71     * @param event The event to analyze.
72     * @return #CUTOK if the ratio between the charge released along the Calo track
73     * and the total released charge is greater than qRatioMin.
74     * @return 0 otherwise.
75     */
76     int Check(PamLevel2 *event);
77    
78     private:
79    
80 pam-fi 1.3 PamTrack **_pamTrack;
81 pam-fi 1.4 #ifndef NO_CALOAXIS
82 pam-fi 1.1 CaloAxis *_xCaloAxis, *_yCaloAxis;
83 pam-fi 1.4 #endif /* NO_CALOAXIS */
84 pam-fi 1.1 float _qRatioMin;
85    
86     };
87     #endif /* CALONOTINTCUT_H_ */

  ViewVC Help
Powered by ViewVC 1.1.23