CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/TopQuarkAnalysis/TopHitFit/interface/EtaDepResElement.h

Go to the documentation of this file.
00001 //
00002 //     $Id: EtaDepResElement.h,v 1.1 2011/05/26 09:46:53 mseidel Exp $
00003 //
00004 // CMSSW File      : interface/EtaDepResElement.h
00005 // Original Author : Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch>
00006 // Purpose         : Hold on to an element of eta-dependent resolution.
00007 //                   A class which holds to the information of resolution
00008 //                   and the eta range in which the resolution is valid.
00009 //
00010 
00025 #ifndef HITFIT_ETA_DEP_RES_ELEMENT
00026 #define HITFIT_ETA_DEP_RES_ELEMENT
00027 
00028 #include <iostream>
00029 
00030 #include "TopQuarkAnalysis/TopHitFit/interface/Defaults_Text.h"
00031 #include "TopQuarkAnalysis/TopHitFit/interface/Vector_Resolution.h"
00032 
00033 
00034 namespace hitfit {
00035 
00063 class EtaDepResElement {
00064 
00065 private:
00066 
00070     double            _EtaMin;
00071 
00075     double            _EtaMax;
00076 
00084     void              SetEta(double eta1,double eta2);
00085 
00089     Vector_Resolution _Vector_Resolution;
00090 
00091 public:
00092 
00105     EtaDepResElement(double eta1, double eta2,
00106                      const Vector_Resolution& res);
00107 
00121     EtaDepResElement(double eta1, double eta2,
00122                      std::string res);
00123 
00141     EtaDepResElement(double eta1, double eta2,
00142                      const Resolution& p_res,
00143                      const Resolution& eta_res,
00144                      const Resolution& phi_res,
00145                      bool use_et);
00146 
00150     ~EtaDepResElement();
00151 
00152     friend bool operator < (const EtaDepResElement& a,
00153                             const EtaDepResElement& b) ;
00154 
00158     const double EtaMin() const;
00159 
00163     const double EtaMax() const;
00164 
00175     bool IsOverlap(const EtaDepResElement& e) const ;
00176 
00187     bool IsNotOverlap(const EtaDepResElement& e) const ;
00188 
00198     bool IsInInterval(const double& eta) const ;
00199 
00200 
00206     bool IsOnEdge(const double& eta) const;
00207 
00220     bool IsOnEdge(const EtaDepResElement& e) const;
00221 
00228     const Vector_Resolution GetResolution() const;
00229 
00237     friend std::ostream& operator<<(std::ostream& s,
00238                                     const EtaDepResElement& e);
00239 
00243     static const int  InverseEtaPrecision = 1000000; // Precision of 1/1000000
00244 
00245 };
00246 
00247 } // namespace hitfit
00248 #endif // not #ifndef HITFIT_ETA_DEP_RES_ELEMENT