Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 13:34:11

0001 #ifndef PhotonTkIsolation_h
0002 #define PhotonTkIsolation_h
0003 
0004 //*****************************************************************************
0005 // File:      PhotonTkIsolation.h
0006 // ----------------------------------------------------------------------------
0007 // OrigAuth:  Matthias Mozer
0008 // Institute: IIHE-VUB
0009 //=============================================================================
0010 //*****************************************************************************
0011 
0012 //C++ includes
0013 #include <string>
0014 
0015 //CMSSW includes
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   //constructors
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   //destructor
0100   ~PhotonTkIsolation();
0101   //methods
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