| 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 */ | 
| 13 | #include "../../PamCutBase/PamCutBase.h" | #include "../../PamCutBase/PamCutBase.h" | 
| 14 | #include "../../CaloAxis2.h" | #include "../../CaloAxis2.h" | 
| 15 |  |  | 
| 16 | /*! @brief The geometric cut using the calorimeter's track. | /*! @brief The geometric cut using the calorimeter track. | 
| 17 | * | * | 
| 18 | * 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. | 
| 19 | * 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 | 
| 20 | * 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 | 
| 21 | * 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. | 
| 38 | * @param cutName The cut's name. | * @param cutName The cut's name. | 
| 39 | * @param xCaloAxis The pointer to the CaloAxis object for X axis. | * @param xCaloAxis The pointer to the CaloAxis object for X axis. | 
| 40 | * @param yCaloAxis The pointer to the CaloAxis object for Y axis. | * @param yCaloAxis The pointer to the CaloAxis object for Y axis. | 
| 41 |  | * @param iMethod index of the method used to track: 0 means straight line; | 
| 42 |  | *                1 means curved line (taking into account magnetic field and beta | 
| 43 |  | *                from TOF stand-alone [assuming proton mass] with 3 parameters specified | 
| 44 |  | *                below) starting from the top of the calorimeter and going backward | 
| 45 |  | *                (straight line inside the calorimeter). | 
| 46 |  | * Various combinations of TOF beta quality parameters are possible: default, low-quality beta (used for beta[12]): 10.,10.,20.; medium-quality beta: 5.,15.,4; high-quality beta: 3.,20.,3. | 
| 47 | * @param xTolCaloTrack The tolerance for X view which defines the fiducial acceptance. | * @param xTolCaloTrack The tolerance for X view which defines the fiducial acceptance. | 
| 48 | * @param yTolCaloTrack The tolerance for Y view which defines the fiducial acceptance. | * @param yTolCaloTrack The tolerance for Y view which defines the fiducial acceptance. | 
| 49 |  | * @param mass The particle's mass (used only when iMethod = 1). Default is #H_MASS. | 
| 50 |  | * @param resMax Default: 10. (equivalent to beta[12]) | 
| 51 |  | * @param qualCut Default: 10. (equivalent to beta[12]) | 
| 52 |  | * @param chi2Cut Default: 20. (equivalent to beta[12]) | 
| 53 | */ | */ | 
| 54 | 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, Float_t xTolCaloTrack = | 
| 55 | PamCut(cutName), _xCaloAxis(xCaloAxis), _yCaloAxis(yCaloAxis), _xTolCaloTrack(xTolCaloTrack), _yTolCaloTrack( | 0.7, Float_t yTolCaloTrack = 0.7, Float_t mass = H_MASS, Float_t resMax = 10., Float_t qualCut = 10., Float_t chi2Cut = 20.) : | 
| 56 | yTolCaloTrack) { | PamCut(cutName), _xCaloAxis(xCaloAxis), _yCaloAxis(yCaloAxis), _iMethod(iMethod), _xTolCaloTrack(xTolCaloTrack), | 
| 57 |  | _yTolCaloTrack(yTolCaloTrack), _mass(mass), _resMax(resMax), _qualCut(qualCut), _chi2Cut(chi2Cut) { | 
| 58 | } | } | 
| 59 | /*! @brief Destructor. */ | /*! @brief Destructor. */ | 
| 60 | ~CaloGeomCut() { | ~CaloGeomCut() { | 
| 70 |  |  | 
| 71 | private: | private: | 
| 72 | CaloAxis *_xCaloAxis, *_yCaloAxis; | CaloAxis *_xCaloAxis, *_yCaloAxis; | 
| 73 | float _xTolCaloTrack, _yTolCaloTrack; | UInt_t _iMethod; | 
| 74 |  | Float_t _xTolCaloTrack, _yTolCaloTrack; | 
| 75 |  | Float_t _mass; | 
| 76 |  | Float_t _resMax, _qualCut, _chi2Cut; | 
| 77 | }; | }; | 
| 78 |  |  | 
| 79 | #endif /* CALOGEOMCUT_H_ */ | #endif /* CALOGEOMCUT_H_ */ |