CMS 3D CMS Logo

EgammaL1TkIsolation.h
Go to the documentation of this file.
1 #ifndef RecoEgamma_EgammaIsolationAlgos_EgammaL1TkIsolation_h
2 #define RecoEgamma_EgammaIsolationAlgos_EgammaL1TkIsolation_h
3 
9 
10 //author S. Harper (RAL/CERN)
11 //based on the work of Swagata Mukherjee and Giulia Sorrentino
12 
14 public:
15  explicit EgammaL1TkIsolation(const edm::ParameterSet& para);
16 
20  fillPSetDescription(desc);
21  return desc;
22  }
23 
24  std::pair<int, double> calIsol(const reco::TrackBase& trk, const L1TrackCollection& l1Tks) const;
25 
26  std::pair<int, double> calIsol(const double objEta,
27  const double objPhi,
28  const double objZ,
29  const L1TrackCollection& l1Tks) const;
30 
31  //little helper function for the two calIsol functions for it to directly return the pt
32  template <typename... Args>
33  double calIsolPt(Args&&... args) const {
34  return calIsol(std::forward<Args>(args)...).second;
35  }
36 
37 private:
38  struct TrkCuts {
39  float minPt;
40  float minDR2;
41  float maxDR2;
42  float minDEta;
43  float maxDZ;
44  explicit TrkCuts(const edm::ParameterSet& para);
46  };
47 
48  size_t etaBinNr(double eta) const;
49  static bool passTrkSel(const L1Track& trk,
50  const double trkPt,
51  const TrkCuts& cuts,
52  const double objEta,
53  const double objPhi,
54  const double objZ);
55 
56  bool useAbsEta_;
57  std::vector<double> etaBoundaries_;
58  std::vector<TrkCuts> trkCuts_;
59 };
60 
61 #endif
writedatasetfile.args
args
Definition: writedatasetfile.py:18
EgammaL1TkIsolation::TrkCuts::TrkCuts
TrkCuts(const edm::ParameterSet &para)
Definition: EgammaL1TkIsolation.cc:55
EgammaL1TkIsolation::passTrkSel
static bool passTrkSel(const L1Track &trk, const double trkPt, const TrkCuts &cuts, const double objEta, const double objPhi, const double objZ)
Definition: EgammaL1TkIsolation.cc:85
TrackBase.h
EgammaL1TkIsolation::EgammaL1TkIsolation
EgammaL1TkIsolation(const edm::ParameterSet &para)
Definition: EgammaL1TkIsolation.cc:7
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
EgammaL1TkIsolation::TrkCuts::maxDR2
float maxDR2
Definition: EgammaL1TkIsolation.h:41
EgammaL1TkIsolation::etaBinNr
size_t etaBinNr(double eta) const
Definition: EgammaL1TkIsolation.cc:76
EgammaL1TkIsolation::trkCuts_
std::vector< TrkCuts > trkCuts_
Definition: EgammaL1TkIsolation.h:58
TrackFwd.h
PVValHelper::eta
Definition: PVValidationHelpers.h:69
EgammaL1TkIsolation::makePSetDescription
static edm::ParameterSetDescription makePSetDescription()
Definition: EgammaL1TkIsolation.h:18
EgammaL1TkIsolation
Definition: EgammaL1TkIsolation.h:13
EgammaL1TkIsolation::useAbsEta_
bool useAbsEta_
Definition: EgammaL1TkIsolation.h:56
ParameterSetDescription.h
edm::ParameterSet
Definition: ParameterSet.h:36
reco::TrackBase
Definition: TrackBase.h:62
EgammaL1TkIsolation::TrkCuts::minDEta
float minDEta
Definition: EgammaL1TkIsolation.h:42
L1Track
EgammaL1TkIsolation::TrkCuts::minPt
float minPt
Definition: EgammaL1TkIsolation.h:39
EgammaL1TkIsolation::TrkCuts::makePSetDescription
static edm::ParameterSetDescription makePSetDescription()
Definition: EgammaL1TkIsolation.cc:64
EgammaL1TkIsolation::calIsolPt
double calIsolPt(Args &&... args) const
Definition: EgammaL1TkIsolation.h:33
L1Track.h
L1TMuonDQMOffline_cfi.cuts
cuts
Definition: L1TMuonDQMOffline_cfi.py:41
EgammaL1TkIsolation::TrkCuts
Definition: EgammaL1TkIsolation.h:38
EgammaL1TkIsolation::TrkCuts::maxDZ
float maxDZ
Definition: EgammaL1TkIsolation.h:43
ParameterSet.h
EgammaL1TkIsolation::TrkCuts::minDR2
float minDR2
Definition: EgammaL1TkIsolation.h:40
EgammaL1TkIsolation::fillPSetDescription
static void fillPSetDescription(edm::ParameterSetDescription &desc)
Definition: EgammaL1TkIsolation.cc:26
L1TrackCollection
std::vector< L1Track > L1TrackCollection
Definition: L1Track.h:9
EgammaL1TkIsolation::calIsol
std::pair< int, double > calIsol(const reco::TrackBase &trk, const L1TrackCollection &l1Tks) const
Definition: EgammaL1TkIsolation.cc:32
EgammaL1TkIsolation::etaBoundaries_
std::vector< double > etaBoundaries_
Definition: EgammaL1TkIsolation.h:57