CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 //
00002 //     $Id: EtaDepResolution.h,v 1.1 2011/05/26 09:46:53 mseidel Exp $
00003 //
00004 // CMSSW File      : interface/EtaDepResolution.h
00005 // Original Author : Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch>
00006 // Purpose         : Hold on to eta-dependent resolution.
00007 //                   Return Vector_Resolution as a function of eta.
00008 //                   Does not assume symmetry between +/- eta.
00009 //                   The interpretation of eta (physics or detector) is
00010 //                   left to user's implementation.
00011 //
00012 
00033 #ifndef HITFIT_ETA_DEP_RESOLUTION
00034 #define HITFIT_ETA_DEP_RESOLUTION
00035 
00036 #include "TopQuarkAnalysis/TopHitFit/interface/Defaults_Text.h"
00037 #include "TopQuarkAnalysis/TopHitFit/interface/Vector_Resolution.h"
00038 #include "TopQuarkAnalysis/TopHitFit/interface/EtaDepResElement.h"
00039 
00040 namespace hitfit {
00041 
00088 class EtaDepResolution {
00089 
00090 private:
00091 
00095     std::vector<EtaDepResElement> _EtaDepResElement;
00096 
00106     std::vector<EtaDepResElement>::const_iterator FindResolution(double& eta) const;
00107 
00108 public:
00109 
00113     void sort();
00114 
00119     EtaDepResolution();
00120 
00121 
00128     EtaDepResolution(const std::string& default_file);
00129 
00133     ~EtaDepResolution();
00134 
00142     std::vector<EtaDepResElement>::size_type Read(const std::string& default_file);
00143 
00151     std::vector<EtaDepResElement>::size_type Read(const Defaults_Text& defs);
00152 
00161     bool CheckNoOverlap(const std::vector<EtaDepResElement>& v);
00162 
00166     const double EtaMin() const;
00167 
00171     const double EtaMax() const;
00172 
00181     const bool CheckEta(double eta) const;
00182 
00191     Vector_Resolution operator () (double& eta);
00192 
00200     Vector_Resolution GetResolution(double& eta) const;
00201 
00202 
00211     EtaDepResElement  GetEtaDepResElement(double& eta) const;
00212 
00219     const std::vector<EtaDepResElement> GetEtaDepResElement() const;
00220 
00221 };
00222 
00223 } // namespace hitfit
00224 #endif // not #ifndef HITFIT_ETA_DEP_RESOLUTION