00001 #ifndef PhotonTkIsolation_h
00002 #define PhotonTkIsolation_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include <string>
00014 #
00015
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
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
00115 ~PhotonTkIsolation() ;
00116
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