CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ElectronTkIsolation.h
Go to the documentation of this file.
1 #ifndef EgammaIsolationAlgos_ElectronTkIsolation_h
2 #define EgammaIsolationAlgos_ElectronTkIsolation_h
3 //*****************************************************************************
4 // File: ElectronTkIsolation.h
5 // ----------------------------------------------------------------------------
6 // OrigAuth: Matthias Mozer
7 // Institute: IIHE-VUB
8 //=============================================================================
9 //*****************************************************************************
10 
11 //C++ includes
12 #include <vector>
13 #include <functional>
14 
15 //Root includes
16 #include "TObjArray.h"
17 
18 //CMSSW includes
23 
24 #include<string>
25 
26 
28  public:
29 
30  //constructors
31  ElectronTkIsolation ( double extRadius,
32  double intRadius,
33  double ptLow,
34  double lip,
35  double drb,
37  reco::TrackBase::Point beamPoint) :
38  extRadius_(extRadius),
39  intRadiusBarrel_(intRadius),
40  intRadiusEndcap_(intRadius),
41  stripBarrel_(0.0),
42  stripEndcap_(0.0),
43  ptLow_(ptLow),
44  lip_(lip),
45  drb_(drb),
46  trackCollection_(trackCollection),
47  beamPoint_(beamPoint) {
49  setDzOption("vz");
50 
51  }
52 
53  ElectronTkIsolation ( double extRadius,
54  double intRadiusBarrel,
55  double intRadiusEndcap,
56  double stripBarrel,
57  double stripEndcap,
58  double ptLow,
59  double lip,
60  double drb,
62  reco::TrackBase::Point beamPoint) :
63  extRadius_(extRadius),
64  intRadiusBarrel_(intRadiusBarrel),
65  intRadiusEndcap_(intRadiusEndcap),
66  stripBarrel_(stripBarrel),
67  stripEndcap_(stripEndcap),
68  ptLow_(ptLow),
69  lip_(lip),
70  drb_(drb),
71  trackCollection_(trackCollection),
72  beamPoint_(beamPoint) {
74  setDzOption("vz");
75 
76  }
77 
78  ElectronTkIsolation ( double extRadius,
79  double intRadiusBarrel,
80  double intRadiusEndcap,
81  double stripBarrel,
82  double stripEndcap,
83  double ptLow,
84  double lip,
85  double drb,
86  const reco::TrackCollection*,
87  reco::TrackBase::Point beamPoint,
88  const std::string&) ;
89 
90  //destructor
92 
93  //methods
94 
95  void setDzOption(const std::string &s) {
96  if( ! s.compare("dz") ) dzOption_ = egammaisolation::EgammaTrackSelector::dz;
97  else if( ! s.compare("vz") ) dzOption_ = egammaisolation::EgammaTrackSelector::vz;
98  else if( ! s.compare("bs") ) dzOption_ = egammaisolation::EgammaTrackSelector::bs;
99  else if( ! s.compare("vtx") )dzOption_ = egammaisolation::EgammaTrackSelector::vtx;
101  }
102 
103  int getNumberTracks(const reco::GsfElectron*) const ;
104  double getPtTracks (const reco::GsfElectron*) const ;
105  std::pair<int,double>getIso(const reco::GsfElectron*) const;
106  std::pair<int,double>getIso(const reco::Track*) const ;
107 
108  private:
109 
110  bool passAlgo(const reco::TrackBase& trk)const;
111  void setAlgosToReject();
112  double extRadius_ ;
115  double stripBarrel_ ;
116  double stripEndcap_ ;
117  double ptLow_ ;
118  double lip_ ;
119  double drb_;
120  std::vector<int> algosToReject_; //vector is sorted
123 
125 
126 
127 };
128 
129 #endif
bool passAlgo(const reco::TrackBase &trk) const
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
int getNumberTracks(const reco::GsfElectron *) const
ElectronTkIsolation(double extRadius, double intRadius, double ptLow, double lip, double drb, const reco::TrackCollection *trackCollection, reco::TrackBase::Point beamPoint)
void setDzOption(const std::string &s)
std::vector< int > algosToReject_
math::XYZPoint Point
point in the space
Definition: TrackBase.h:83
std::pair< int, double > getIso(const reco::GsfElectron *) const
const reco::TrackCollection * trackCollection_
tuple trackCollection
ElectronTkIsolation(double extRadius, double intRadiusBarrel, double intRadiusEndcap, double stripBarrel, double stripEndcap, double ptLow, double lip, double drb, const reco::TrackCollection *trackCollection, reco::TrackBase::Point beamPoint)
double getPtTracks(const reco::GsfElectron *) const
reco::TrackBase::Point beamPoint_