/[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.1.1.1 - (hide annotations) (download) (vendor branch)
Wed May 27 13:30:09 2009 UTC (15 years, 6 months ago) by pam-fi
Branch: DEV
CVS Tags: v0r00
Changes since 1.1: +0 -0 lines
File MIME type: text/plain
First import

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     #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