--- PamCut/CaloCuts/CaloGeomCut/CaloGeomCut.h 2009/05/27 13:30:09 1.1 +++ PamCut/CaloCuts/CaloGeomCut/CaloGeomCut.h 2010/03/10 08:42:32 1.2 @@ -2,7 +2,7 @@ * CaloGeomCut.h * * Created on: 19-mar-2009 - * Author: Sergio Ricciarini, Nicola Mori + * Author: Sergio Ricciarini */ /*! @file CaloGeomCut.h The CaloGeomCut class definition file */ @@ -13,9 +13,9 @@ #include "../../PamCutBase/PamCutBase.h" #include "../../CaloAxis2.h" -/*! @brief The geometric cut using the calorimeter's track. +/*! @brief The geometric cut using the calorimeter track. * - * 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. * The current implementation uses the CaloAxis objects; to save computing time, the class * assumes that the track is externally computed for each event and stored in * CaloAxis objects; pointers to these objects are passed as arguments to the constructor. @@ -38,12 +38,23 @@ * @param cutName The cut's name. * @param xCaloAxis The pointer to the CaloAxis object for X axis. * @param yCaloAxis The pointer to the CaloAxis object for Y axis. + * @param iMethod index of the method used to track: 0 means straight line; + * 1 means curved line (taking into account magnetic field and beta + * from TOF stand-alone [assuming proton mass] with 3 parameters specified + * below) starting from the top of the calorimeter and going backward + * (straight line inside the calorimeter). + * 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. * @param xTolCaloTrack The tolerance for X view which defines the fiducial acceptance. * @param yTolCaloTrack The tolerance for Y view which defines the fiducial acceptance. + * @param mass The particle's mass (used only when iMethod = 1). Default is #H_MASS. + * @param resMax Default: 10. (equivalent to beta[12]) + * @param qualCut Default: 10. (equivalent to beta[12]) + * @param chi2Cut Default: 20. (equivalent to beta[12]) */ - CaloGeomCut(const char *cutName, CaloAxis *xCaloAxis, CaloAxis *yCaloAxis, float xTolCaloTrack = 0.7, float yTolCaloTrack = 0.7) : - PamCut(cutName), _xCaloAxis(xCaloAxis), _yCaloAxis(yCaloAxis), _xTolCaloTrack(xTolCaloTrack), _yTolCaloTrack( - yTolCaloTrack) { + CaloGeomCut(const char *cutName, CaloAxis *xCaloAxis, CaloAxis *yCaloAxis, UInt_t iMethod, Float_t xTolCaloTrack = + 0.7, Float_t yTolCaloTrack = 0.7, Float_t mass = H_MASS, Float_t resMax = 10., Float_t qualCut = 10., Float_t chi2Cut = 20.) : + PamCut(cutName), _xCaloAxis(xCaloAxis), _yCaloAxis(yCaloAxis), _iMethod(iMethod), _xTolCaloTrack(xTolCaloTrack), + _yTolCaloTrack(yTolCaloTrack), _mass(mass), _resMax(resMax), _qualCut(qualCut), _chi2Cut(chi2Cut) { } /*! @brief Destructor. */ ~CaloGeomCut() { @@ -59,7 +70,10 @@ private: CaloAxis *_xCaloAxis, *_yCaloAxis; - float _xTolCaloTrack, _yTolCaloTrack; + UInt_t _iMethod; + Float_t _xTolCaloTrack, _yTolCaloTrack; + Float_t _mass; + Float_t _resMax, _qualCut, _chi2Cut; }; #endif /* CALOGEOMCUT_H_ */