CMS 3D CMS Logo

HcalIsolatedTrackCandidate.h
Go to the documentation of this file.
1 #ifndef HcalIsolatedTrack_HcalIsolatedTrackCandidate_h
2 #define HcalIsolatedTrack_HcalIsolatedTrackCandidate_h
3 
14 
15 #include <vector>
16 #include <map>
17 #include <utility>
18 
19 namespace reco {
20 
22  public:
23  // default constructor
25  maxP_ = -1;
26  enEcal_ = -1;
27  ptL1_ = etaL1_ = phiL1_ = 0;
28  etaEcal_ = phiEcal_ = 0;
30  etaPhiEcal_ = etaPhiHcal_ = false;
31  }
34  maxP_ = -1;
35  enEcal_ = -1;
36  ptL1_ = etaL1_ = phiL1_ = 0;
37  etaEcal_ = phiEcal_ = 0;
39  etaPhiEcal_ = etaPhiHcal_ = false;
40  }
42  HcalIsolatedTrackCandidate(const reco::TrackRef& tr, double max, double ene)
43  : RecoCandidate(0, LorentzVector((tr.get()->px()), (tr.get())->py(), (tr.get())->pz(), (tr.get())->p())),
44  track_(tr),
45  maxP_(max),
46  enEcal_(ene) {
47  ptL1_ = etaL1_ = phiL1_ = 0;
48  etaEcal_ = phiEcal_ = 0;
50  etaPhiEcal_ = etaPhiHcal_ = false;
51  }
54 
56  ~HcalIsolatedTrackCandidate() override;
57 
59  HcalIsolatedTrackCandidate* clone() const override;
60 
62  reco::TrackRef track() const override;
63  void setTrack(const reco::TrackRef& tr) { track_ = tr; }
64 
66  double maxP() const { return maxP_; }
67  void SetMaxP(double mp) { maxP_ = mp; }
68 
70  virtual l1extra::L1JetParticleRef l1jet() const;
71  void setL1Jet(const l1extra::L1JetParticleRef& jetRef) { l1Jet_ = jetRef; }
72  std::pair<double, double> EtaPhiL1() const { return std::pair<double, double>(etaL1_, phiL1_); }
74  void setL1(double pt, double eta, double phi) {
75  ptL1_ = pt;
76  etaL1_ = eta;
77  phiL1_ = phi;
78  }
79 
81  double energyEcal() const { return enEcal_; }
82  void SetEnergyEcal(double a) { enEcal_ = a; }
83 
85  void SetEtaPhiEcal(double eta, double phi) {
86  etaEcal_ = eta;
87  phiEcal_ = phi;
88  etaPhiEcal_ = true;
89  }
90  std::pair<double, double> EtaPhiEcal() const {
91  return ((etaPhiEcal_) ? std::pair<double, double>(etaEcal_, phiEcal_) : std::pair<double, double>(0, 0));
92  }
93  bool etaPhiEcal() const { return etaPhiEcal_; }
94 
96  void SetEtaPhiHcal(double eta, double phi, int ieta, int iphi) {
97  etaHcal_ = eta;
98  phiHcal_ = phi;
99  ietaHcal_ = ieta;
100  iphiHcal_ = iphi;
101  etaPhiHcal_ = true;
102  }
103  std::pair<double, double> EtaPhiHcal() const {
104  return ((etaPhiHcal_) ? std::pair<double, double>(etaHcal_, phiHcal_) : std::pair<double, double>(0, 0));
105  }
106  std::pair<int, int> towerIndex() const {
107  return ((etaPhiHcal_) ? std::pair<int, int>(ietaHcal_, iphiHcal_) : std::pair<int, int>(0, 0));
108  }
109  bool etaPhiHcal() const { return etaPhiHcal_; }
110 
111  private:
113  bool overlap(const Candidate&) const override;
119  double maxP_;
121  double enEcal_;
123  double ptL1_, etaL1_, phiL1_;
131  };
132 
133 } // namespace reco
134 
135 #endif
reco::HcalIsolatedTrackCandidate::etaPhiEcal
bool etaPhiEcal() const
Definition: HcalIsolatedTrackCandidate.h:93
reco::HcalIsolatedTrackCandidate::SetEtaPhiEcal
void SetEtaPhiEcal(double eta, double phi)
eta, phi at ECAL surface
Definition: HcalIsolatedTrackCandidate.h:85
reco::HcalIsolatedTrackCandidate::l1jet
virtual l1extra::L1JetParticleRef l1jet() const
get reference to L1 jet
Definition: HcalIsolatedTrackCandidate.cc:28
reco::HcalIsolatedTrackCandidate::etaHcal_
double etaHcal_
Definition: HcalIsolatedTrackCandidate.h:129
reco::HcalIsolatedTrackCandidate::setL1
void setL1(double pt, double eta, double phi)
Definition: HcalIsolatedTrackCandidate.h:74
reco::HcalIsolatedTrackCandidate::SetMaxP
void SetMaxP(double mp)
Definition: HcalIsolatedTrackCandidate.h:67
reco::HcalIsolatedTrackCandidate::etaL1_
double etaL1_
Definition: HcalIsolatedTrackCandidate.h:123
reco::HcalIsolatedTrackCandidate::maxP
double maxP() const
highest energy of other tracks in the cone around the candidate
Definition: HcalIsolatedTrackCandidate.h:66
reco::HcalIsolatedTrackCandidate::phiEcal_
double phiEcal_
Definition: HcalIsolatedTrackCandidate.h:126
reco::HcalIsolatedTrackCandidate::SetEtaPhiHcal
void SetEtaPhiHcal(double eta, double phi, int ieta, int iphi)
eta, phi at HCAL surface
Definition: HcalIsolatedTrackCandidate.h:96
reco::HcalIsolatedTrackCandidate
Definition: HcalIsolatedTrackCandidate.h:21
reco::HcalIsolatedTrackCandidate::EtaPhiHcal
std::pair< double, double > EtaPhiHcal() const
Definition: HcalIsolatedTrackCandidate.h:103
reco::HcalIsolatedTrackCandidate::iphiHcal_
int iphiHcal_
Definition: HcalIsolatedTrackCandidate.h:130
reco::HcalIsolatedTrackCandidate::HcalIsolatedTrackCandidate
HcalIsolatedTrackCandidate(const LorentzVector &v)
constructor from LorentzVector
Definition: HcalIsolatedTrackCandidate.h:33
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition: LeafCandidate.h:146
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
findQualityFiles.v
v
Definition: findQualityFiles.py:179
reco::HcalIsolatedTrackCandidate::l1jetp
math::XYZTLorentzVector l1jetp() const
Definition: HcalIsolatedTrackCandidate.cc:30
RecoCandidate.h
reco::HcalIsolatedTrackCandidate::EtaPhiEcal
std::pair< double, double > EtaPhiEcal() const
Definition: HcalIsolatedTrackCandidate.h:90
edm::Ref< TrackCollection >
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
reco::HcalIsolatedTrackCandidate::etaEcal_
double etaEcal_
Definition: HcalIsolatedTrackCandidate.h:126
Track.h
reco::LeafCandidate::py
double py() const final
y coordinate of momentum vector
Definition: LeafCandidate.h:142
reco::HcalIsolatedTrackCandidate::etaPhiHcal_
bool etaPhiHcal_
eta, phi at HCAL
Definition: HcalIsolatedTrackCandidate.h:128
reco::HcalIsolatedTrackCandidate::~HcalIsolatedTrackCandidate
~HcalIsolatedTrackCandidate() override
destructor
Definition: HcalIsolatedTrackCandidate.cc:22
reco::HcalIsolatedTrackCandidate::setTrack
void setTrack(const reco::TrackRef &tr)
Definition: HcalIsolatedTrackCandidate.h:63
reco::HcalIsolatedTrackCandidate::clone
HcalIsolatedTrackCandidate * clone() const override
returns a clone of the candidate
Definition: HcalIsolatedTrackCandidate.cc:24
reco::HcalIsolatedTrackCandidate::overlap
bool overlap(const Candidate &) const override
check overlap with another candidate
Definition: HcalIsolatedTrackCandidate.cc:36
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
L1JetParticleFwd.h
a
double a
Definition: hdecay.h:119
reco::LeafCandidate::get
T get() const
get a component
Definition: LeafCandidate.h:239
reco::HcalIsolatedTrackCandidate::setL1Jet
void setL1Jet(const l1extra::L1JetParticleRef &jetRef)
Definition: HcalIsolatedTrackCandidate.h:71
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
LorentzVector.h
reco::HcalIsolatedTrackCandidate::HcalIsolatedTrackCandidate
HcalIsolatedTrackCandidate()
Definition: HcalIsolatedTrackCandidate.h:24
reco::HcalIsolatedTrackCandidate::track_
reco::TrackRef track_
reference to a Track
Definition: HcalIsolatedTrackCandidate.h:115
reco::HcalIsolatedTrackCandidate::track
reco::TrackRef track() const override
refrence to a Track
Definition: HcalIsolatedTrackCandidate.cc:26
reco::RecoCandidate
Definition: RecoCandidate.h:20
reco::HcalIsolatedTrackCandidate::phiL1_
double phiL1_
Definition: HcalIsolatedTrackCandidate.h:123
reco::Candidate
Definition: Candidate.h:27
reco::HcalIsolatedTrackCandidate::towerIndex
std::pair< int, int > towerIndex() const
Definition: HcalIsolatedTrackCandidate.h:106
reco::HcalIsolatedTrackCandidate::etaPhiHcal
bool etaPhiHcal() const
Definition: HcalIsolatedTrackCandidate.h:109
reco::HcalIsolatedTrackCandidate::EtaPhiL1
std::pair< double, double > EtaPhiL1() const
Definition: HcalIsolatedTrackCandidate.h:72
reco::HcalIsolatedTrackCandidate::ptL1_
double ptL1_
pt, eta, phi of L1 object
Definition: HcalIsolatedTrackCandidate.h:123
reco::HcalIsolatedTrackCandidate::enEcal_
double enEcal_
energy in ECAL around a cone around the track
Definition: HcalIsolatedTrackCandidate.h:121
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
reco::HcalIsolatedTrackCandidate::ietaHcal_
int ietaHcal_
Definition: HcalIsolatedTrackCandidate.h:130
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
reco::LeafCandidate::p
double p() const final
magnitude of momentum vector
Definition: LeafCandidate.h:123
reco::HcalIsolatedTrackCandidate::energyEcal
double energyEcal() const
ECAL energy in the inner cone around tau jet.
Definition: HcalIsolatedTrackCandidate.h:81
reco::HcalIsolatedTrackCandidate::etaPhiEcal_
bool etaPhiEcal_
eta, phi at ECAL
Definition: HcalIsolatedTrackCandidate.h:125
reco::HcalIsolatedTrackCandidate::HcalIsolatedTrackCandidate
HcalIsolatedTrackCandidate(const reco::TrackRef &tr, double max, double ene)
constructor from a track
Definition: HcalIsolatedTrackCandidate.h:42
reco::Candidate::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:36
reco::HcalIsolatedTrackCandidate::l1Jet_
l1extra::L1JetParticleRef l1Jet_
reference to a L1 tau jet
Definition: HcalIsolatedTrackCandidate.h:117
reco::HcalIsolatedTrackCandidate::phiHcal_
double phiHcal_
Definition: HcalIsolatedTrackCandidate.h:129
reco::HcalIsolatedTrackCandidate::maxP_
double maxP_
highest P of other tracks in the cone around the candidate
Definition: HcalIsolatedTrackCandidate.h:119
L1JetParticle.h
reco::LeafCandidate::px
double px() const final
x coordinate of momentum vector
Definition: LeafCandidate.h:140
reco::LeafCandidate::pz
double pz() const final
z coordinate of momentum vector
Definition: LeafCandidate.h:144
reco::HcalIsolatedTrackCandidate::SetEnergyEcal
void SetEnergyEcal(double a)
Definition: HcalIsolatedTrackCandidate.h:82
HcalIsolatedTrackCandidateFwd.h