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

Diff of /PamCut/CaloCuts/CaloGeomCut/CaloGeomCut.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.6 by pam-fi, Fri Sep 2 16:25:39 2011 UTC
# Line 2  Line 2 
2   * CaloGeomCut.h   * CaloGeomCut.h
3   *   *
4   *  Created on: 19-mar-2009   *  Created on: 19-mar-2009
5   *      Author: Sergio Ricciarini, Nicola Mori   *      Author: Sergio Ricciarini
6   */   */
7    
8  /*! @file CaloGeomCut.h The CaloGeomCut class definition file */  /*! @file CaloGeomCut.h The CaloGeomCut class definition file */
9    
10    #ifndef NO_CALOAXIS
11    
12  #ifndef CALOGEOMCUT_H_  #ifndef CALOGEOMCUT_H_
13  #define CALOGEOMCUT_H_  #define CALOGEOMCUT_H_
14    
15  #include "../../PamCutBase/PamCutBase.h"  #include "../../PamCutBase/PamCutBase.h"
16  #include "../../CaloAxis2.h"  #include <CaloAxis.h>
17    
18  /*! @brief The geometric cut using the calorimeter's track.  /*! @brief The geometric cut using the calorimeter track.
19   *   *
20   * This cut checks if the track obtained from the calorimeter is inside the fiducial acceptance.   * This cut checks if the track obtained from the calorimeter (with different methods) is inside the fiducial acceptance.
21   * The current implementation uses the CaloAxis objects; to save computing time, the class   * The current implementation uses the CaloAxis objects; to save computing time, the class
22   * assumes that the track is externally computed for each event and stored in   * assumes that the track is externally computed for each event and stored in
23   * CaloAxis objects; pointers to these objects are passed as arguments to the constructor.   * CaloAxis objects; pointers to these objects are passed as arguments to the constructor.
# Line 38  public: Line 40  public:
40     * @param cutName The cut's name.     * @param cutName The cut's name.
41     * @param xCaloAxis The pointer to the CaloAxis object for X axis.     * @param xCaloAxis The pointer to the CaloAxis object for X axis.
42     * @param yCaloAxis The pointer to the CaloAxis object for Y axis.     * @param yCaloAxis The pointer to the CaloAxis object for Y axis.
43       * @param iMethod index of the method used to track: 0 means straight line;
44       *                1 means curved line (taking into account magnetic field and beta
45       *                from TOF stand-alone with 3 parameters specified
46       *                below) starting from the top of the calorimeter and going backward
47       *                (straight line inside the calorimeter).
48       *                Various combinations of TOF beta quality parameters are possible:
49       *                default, low-quality beta (used for beta[12]): 10.,10.,20.;
50       *                medium-quality beta: 5.,15.,4; high-quality beta: 3.,20.,3.
51     * @param xTolCaloTrack The tolerance for X view which defines the fiducial acceptance.     * @param xTolCaloTrack The tolerance for X view which defines the fiducial acceptance.
52     * @param yTolCaloTrack The tolerance for Y view which defines the fiducial acceptance.     * @param yTolCaloTrack The tolerance for Y view which defines the fiducial acceptance.
53       * @param mass The particle's mass (used only when iMethod = 1). Default is #H_MASS.
54       * @param resMax Default: 10. (equivalent to beta[12])
55       * @param zeta The particle Z, with sign (used only when iMethod = 1). Default is +1.
56       * @param qualCut Default: 10. (equivalent to beta[12])
57       * @param chi2Cut Default: 20. (equivalent to beta[12])
58     */     */
59    CaloGeomCut(const char *cutName, CaloAxis *xCaloAxis, CaloAxis *yCaloAxis, float xTolCaloTrack = 0.7, float yTolCaloTrack = 0.7) :    CaloGeomCut(const char *cutName, CaloAxis *xCaloAxis, CaloAxis *yCaloAxis, UInt_t iMethod,
60      PamCut(cutName), _xCaloAxis(xCaloAxis), _yCaloAxis(yCaloAxis), _xTolCaloTrack(xTolCaloTrack), _yTolCaloTrack(        Float_t xTolCaloTrack = 0.7, Float_t yTolCaloTrack = 0.7, Float_t mass = H_MASS, Float_t zeta = +1.,
61          yTolCaloTrack) {        Float_t resMax = 10., Float_t qualCut = 10., Float_t chi2Cut = 20.);
62    }  
63    /*! @brief Destructor. */    /*! @brief Destructor. */
64    ~CaloGeomCut() {    ~CaloGeomCut();
   }  
65    
66    /*! @brief The geometry check using the calorimeter's track.    /*! @brief The geometry check using the calorimeter's track.
67     *     *
# Line 59  public: Line 73  public:
73    
74  private:  private:
75    CaloAxis *_xCaloAxis, *_yCaloAxis;    CaloAxis *_xCaloAxis, *_yCaloAxis;
76    float _xTolCaloTrack, _yTolCaloTrack;    UInt_t _iMethod;
77      Float_t _xTolCaloTrack, _yTolCaloTrack;
78      Float_t _mass, _zeta;
79      Float_t _resMax, _qualCut, _chi2Cut;
80    
81      Trajectory* _traj;
82      static const Int_t _nPoint;
83      vector<Float_t> _zIn; // MUST be Float_t
84      static const Float_t _zCaloTop; // cm MUST be Float_t
85  };  };
86    
87  #endif /* CALOGEOMCUT_H_ */  #endif /* CALOGEOMCUT_H_ */
88    #endif /* NO_CALOAXIS */

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

  ViewVC Help
Powered by ViewVC 1.1.23