CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoEgamma/EgammaIsolationAlgos/interface/PhotonTkIsolation.h

Go to the documentation of this file.
00001 #ifndef PhotonTkIsolation_h
00002 #define PhotonTkIsolation_h
00003 
00004 //*****************************************************************************
00005 // File:      PhotonTkIsolation.h
00006 // ----------------------------------------------------------------------------
00007 // OrigAuth:  Matthias Mozer
00008 // Institute: IIHE-VUB
00009 //=============================================================================
00010 //*****************************************************************************
00011 
00012 //C++ includes
00013 #include <string>
00014 #
00015 //CMSSW includes
00016 #include "FWCore/Framework/interface/ESHandle.h"
00017 #include "DataFormats/Candidate/interface/Candidate.h"
00018 #include "DataFormats/TrackReco/interface/Track.h"
00019 #include "DataFormats/VertexReco/interface/Vertex.h"
00020 #include "RecoEgamma/EgammaIsolationAlgos/interface/EgammaTrackSelector.h"
00021 
00022 
00023 
00024 
00025 class PhotonTkIsolation {
00026  public:
00027   
00028   //constructors
00029   PhotonTkIsolation (float extRadius,
00030                      float intRadius,
00031                      float etLow,
00032                      float lip,
00033                      float drb,
00034                      const reco::TrackCollection* trackCollection,
00035                      reco::TrackBase::Point beamPoint) :
00036     extRadius2_(extRadius*extRadius),
00037     intRadiusBarrel2_(intRadius*intRadius),
00038     intRadiusEndcap2_(intRadius*intRadius),
00039     stripBarrel_(0.0),
00040     stripEndcap_(0.0),
00041     etLow_(etLow),
00042     lip_(lip),
00043     drb_(drb),
00044     trackCollection_(trackCollection),
00045     beamPoint_(beamPoint) {
00046     
00047     setDzOption("vz");
00048 
00049   }
00050   
00051   PhotonTkIsolation (float extRadius,
00052                      float intRadius,
00053                      float strip,
00054                      float etLow,
00055                      float lip,
00056                      float drb,
00057                      const reco::TrackCollection* trackCollection,
00058                      reco::TrackBase::Point beamPoint) :
00059     extRadius2_(extRadius*extRadius),
00060     intRadiusBarrel2_(intRadius*intRadius),
00061     intRadiusEndcap2_(intRadius*intRadius),
00062     stripBarrel_(strip),
00063     stripEndcap_(strip),
00064     etLow_(etLow),
00065     lip_(lip),
00066     drb_(drb),
00067     trackCollection_(trackCollection),
00068     beamPoint_(beamPoint) {
00069     
00070     setDzOption("vz");
00071     
00072   }
00073 
00074   
00075   PhotonTkIsolation (float extRadius,
00076                      float intRadiusBarrel,
00077                      float intRadiusEndcap,
00078                      float stripBarrel,
00079                      float stripEndcap,         
00080                      float etLow,
00081                      float lip,
00082                      float drb,
00083                      const reco::TrackCollection* trackCollection,
00084                      reco::TrackBase::Point beamPoint) :
00085     extRadius2_(extRadius*extRadius),
00086     intRadiusBarrel2_(intRadiusBarrel*intRadiusBarrel),
00087     intRadiusEndcap2_(intRadiusEndcap*intRadiusEndcap),
00088     stripBarrel_(stripBarrel),
00089     stripEndcap_(stripEndcap),
00090     etLow_(etLow),
00091     lip_(lip),
00092     drb_(drb),
00093     trackCollection_(trackCollection),
00094     beamPoint_(beamPoint) {
00095     
00096     setDzOption("vz");
00097     
00098   }
00099   
00100   
00101   
00102   PhotonTkIsolation (float extRadius,
00103                      float intRadiusBarrel,
00104                      float intRadiusEndcap,
00105                      float stripBarrel,
00106                      float stripEndcap,         
00107                      float etLow,
00108                      float lip,
00109                      float drb,
00110                      const reco::TrackCollection*,
00111                      reco::TrackBase::Point beamPoint,
00112                      const std::string&) ;
00113   
00114   //destructor 
00115   ~PhotonTkIsolation() ;
00116   //methods
00117 
00118   std::pair<int,float>getIso(const reco::Candidate*) const ;
00119   
00120 
00121   void setDzOption(const std::string &s);
00122 private:
00123   
00124   float extRadius2_ ;
00125   float intRadiusBarrel2_ ;
00126   float intRadiusEndcap2_ ;
00127   float stripBarrel_;
00128   float stripEndcap_;
00129   float etLow_ ;
00130   float lip_ ;
00131   float drb_;
00132 
00133   const reco::TrackCollection *trackCollection_ ;
00134   reco::TrackBase::Point beamPoint_;
00135 
00136   int dzOption_;
00137 
00138 
00139 };
00140 
00141 #endif