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

Diff of /PamCut/CaloCuts/CaloNotIntCut/CaloNotIntCut.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by pam-fi, Wed May 27 13:30:09 2009 UTC revision 1.3.2.1 by pam-fi, Thu Jul 8 10:43:12 2010 UTC
# Line 11  Line 11 
11  #define CALONOTINTCUT_H_  #define CALONOTINTCUT_H_
12    
13  #include "../../PamCutBase/PamCutBase.h"  #include "../../PamCutBase/PamCutBase.h"
14  #include "../../CaloAxis2.h"  #ifndef NO_CALOAXIS
15    #include <CaloAxis.h>
16    #endif /* NO_CALOAXIS */
17    
18  /*! @brief The non-interacting track cut.  /*! @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   * This check discards all the events who interacts in the calorimeter. It is possible to choose the track to use for
20   * the check. To improve computation speed, Check does NOT computes the track for the event; the track information   * the check. To improve computation speed, Check does NOT compute the track for the event; the track information
21   * is supposed to lie in some external object, whose address has to be passed to the constructor. The user is then   * 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   * demanded to fill this external object with the proper track information for the current event before calling Check
23   * or ApplyCut.   * or ApplyCut.
24   * Currently, only the check with the calorimeter track is implemented.   * Currently, the checks with the calorimeter L2 track and with CaloAxis track are implemented.
25   *   *
26   * CUT DEPENDENCIES: CaloTrackCut for the existence of the track (it can also provide the CaloAxis objects).   * CUT DEPENDENCIES: CaloTrackCut for the existence of the track (it can also provide the CaloAxis objects).
27   */   */
# Line 27  Line 29 
29  class CaloNotIntCut: public PamCut {  class CaloNotIntCut: public PamCut {
30    
31  public:  public:
32    /*! @brief Constructor for tracker track.    /*! @brief Constructor for calorimeter L2 track.
33     * Use this constructor if you want to use the tracker track to perform the     * Use this constructor if you want to use the L2 calorimeter track to perform the
34     * non-interaction check.     * non-interaction check.
35     *     *
    * NOTE: Check() for this constructor is not implemented yet.  
    *  
36     * @param cutName The name of the cut.     * @param cutName The name of the cut.
37     * @param trkTrack Pointer to the tracker track object.     * @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.     * @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) {    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    }    }
47    
48    /*! @brief Constructor for calorimeter track.    /*! @brief Constructor for calorimeter track.
49     * Use this constructor if you want to use the calorimeter track to perform the     * Use this constructor if you want to use the CaloAxis track to perform the
50     * non-interaction check.     * non-interaction check.
51     *     *
52     * @param cutName The name of the cut.     * @param cutName The name of the cut.
# Line 51  public: Line 55  public:
55     * @param qRatioMin The minimum threshold for the ratio between track charge and total charge in CALO.     * @param qRatioMin The minimum threshold for the ratio between track charge and total charge in CALO.
56     * @return     * @return
57     */     */
58    CaloNotIntCut(const char *cutName, CaloAxis *xCaloAxis, CaloAxis *yCaloAxis, float qRatioMin=0.8) :  #ifndef NO_CALOAXIS
59      PamCut(cutName), _trkTrack(NULL), _xCaloAxis(xCaloAxis), _yCaloAxis(yCaloAxis), _qRatioMin(qRatioMin) {    CaloNotIntCut(const char *cutName, CaloAxis *xCaloAxis, CaloAxis *yCaloAxis, float qRatioMin = 0.8) :
60        PamCut(cutName), _pamTrack(NULL), _xCaloAxis(xCaloAxis), _yCaloAxis(yCaloAxis), _qRatioMin(qRatioMin) {
61    }    }
62    #endif /* NO_CALOAXIS */
63    //TODO: aggiungere il costruttore per il TOF.    //TODO: aggiungere il costruttore per il TOF.
64    
65    /*! @brief Destructor. */    /*! @brief Destructor. */
# Line 72  public: Line 77  public:
77    
78  private:  private:
79    
80    TrkTrack *_trkTrack;    PamTrack **_pamTrack;
81    #ifndef NO_CALOAXIS
82    CaloAxis *_xCaloAxis, *_yCaloAxis;    CaloAxis *_xCaloAxis, *_yCaloAxis;
83    #endif /* NO_CALOAXIS */
84    float _qRatioMin;    float _qRatioMin;
85    
86  };  };

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3.2.1

  ViewVC Help
Powered by ViewVC 1.1.23