CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
JetCharge.cc
Go to the documentation of this file.
2 
3 double JetCharge::charge(const LorentzVector &lv, const reco::CandidateCollection &vec) const {
4  return chargeFromVal<reco::Candidate,reco::CandidateCollection>(lv, vec);
5 }
6 
7 double JetCharge::charge(const LorentzVector &lv, const reco::TrackCollection &vec) const {
8  return chargeFromVal<reco::Track,reco::TrackCollection>(lv, vec);
9 }
10 
11 double JetCharge::charge(const LorentzVector &lv, const reco::TrackRefVector &vec) const {
12  return chargeFromRef<reco::TrackRef,reco::TrackRefVector>(lv, vec);
13 }
14 
16  return chargeFromValIterator<reco::Candidate,reco::Candidate::const_iterator>(parent.p4(),parent.begin(),parent.end());
17 }
18 
20 var_(Pt),
21 exp_(iCfg.getParameter<double>("exp")) {
22  std::string var = iCfg.getParameter<std::string>("var");
23  if (var == "Pt") {
24  var_ = Pt;
25  } else if (var == "RelPt") {
26  var_ = RelPt;
27  } else if (var == "RelEta") {
28  var_ = RelEta;
29  } else if (var == "DeltaR") {
30  var_ = DeltaR;
31  } else if (var == "Unit") {
32  var_ = Unit;
33  } else {
34  throw cms::Exception("Configuration error") << "Unknown variable "
35  << var.c_str() << " for computing jet charge";
36  }
37 }
38 
T getParameter(std::string const &) const
double charge(const LorentzVector &lv, const reco::TrackCollection &vec) const
Definition: JetCharge.cc:7
list parent
Definition: dbtoconf.py:74
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:10
JetCharge(Variable var, double exponent=1.0)
Definition: JetCharge.h:24
Variable var_
Definition: JetCharge.h:46
virtual const_iterator end() const =0
last daughter const_iterator
reco::Particle::LorentzVector LorentzVector
Definition: JetCharge.h:21
virtual const_iterator begin() const =0
first daughter const_iterator
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector