File indexing completed on 2024-04-06 12:24:54
0001 #ifndef PhotonTkIsolation_h
0002 #define PhotonTkIsolation_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include <string>
0014
0015
0016 #include "DataFormats/Candidate/interface/Candidate.h"
0017 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0018 #include "DataFormats/TrackReco/interface/Track.h"
0019
0020 class PhotonTkIsolation {
0021 public:
0022
0023 PhotonTkIsolation(float extRadius,
0024 float intRadius,
0025 float etLow,
0026 float lip,
0027 float drb,
0028 const reco::TrackCollection* trackCollection,
0029 reco::TrackBase::Point beamPoint)
0030 : extRadius2_(extRadius * extRadius),
0031 intRadiusBarrel2_(intRadius * intRadius),
0032 intRadiusEndcap2_(intRadius * intRadius),
0033 stripBarrel_(0.0),
0034 stripEndcap_(0.0),
0035 etLow_(etLow),
0036 lip_(lip),
0037 drb_(drb),
0038 trackCollection_(trackCollection),
0039 beamPoint_(beamPoint) {
0040 setDzOption("vz");
0041 }
0042
0043 PhotonTkIsolation(float extRadius,
0044 float intRadius,
0045 float strip,
0046 float etLow,
0047 float lip,
0048 float drb,
0049 const reco::TrackCollection* trackCollection,
0050 reco::TrackBase::Point beamPoint)
0051 : extRadius2_(extRadius * extRadius),
0052 intRadiusBarrel2_(intRadius * intRadius),
0053 intRadiusEndcap2_(intRadius * intRadius),
0054 stripBarrel_(strip),
0055 stripEndcap_(strip),
0056 etLow_(etLow),
0057 lip_(lip),
0058 drb_(drb),
0059 trackCollection_(trackCollection),
0060 beamPoint_(beamPoint) {
0061 setDzOption("vz");
0062 }
0063
0064 PhotonTkIsolation(float extRadius,
0065 float intRadiusBarrel,
0066 float intRadiusEndcap,
0067 float stripBarrel,
0068 float stripEndcap,
0069 float etLow,
0070 float lip,
0071 float drb,
0072 const reco::TrackCollection* trackCollection,
0073 reco::TrackBase::Point beamPoint)
0074 : extRadius2_(extRadius * extRadius),
0075 intRadiusBarrel2_(intRadiusBarrel * intRadiusBarrel),
0076 intRadiusEndcap2_(intRadiusEndcap * intRadiusEndcap),
0077 stripBarrel_(stripBarrel),
0078 stripEndcap_(stripEndcap),
0079 etLow_(etLow),
0080 lip_(lip),
0081 drb_(drb),
0082 trackCollection_(trackCollection),
0083 beamPoint_(beamPoint) {
0084 setDzOption("vz");
0085 }
0086
0087 PhotonTkIsolation(float extRadius,
0088 float intRadiusBarrel,
0089 float intRadiusEndcap,
0090 float stripBarrel,
0091 float stripEndcap,
0092 float etLow,
0093 float lip,
0094 float drb,
0095 const reco::TrackCollection*,
0096 reco::TrackBase::Point beamPoint,
0097 const std::string&);
0098
0099
0100 ~PhotonTkIsolation();
0101
0102
0103 std::pair<int, float> getIso(const reco::Candidate*) const;
0104
0105 void setDzOption(const std::string& s);
0106
0107 private:
0108 float extRadius2_;
0109 float intRadiusBarrel2_;
0110 float intRadiusEndcap2_;
0111 float stripBarrel_;
0112 float stripEndcap_;
0113 float etLow_;
0114 float lip_;
0115 float drb_;
0116
0117 const reco::TrackCollection* trackCollection_;
0118 reco::TrackBase::Point beamPoint_;
0119
0120 int dzOption_;
0121 };
0122
0123 #endif