CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IsolatedPixelTrackCandidate.h
Go to the documentation of this file.
1 #ifndef HcalIsolatedTrack_IsolatedPixelTrackCandidate_h
2 #define HcalIsolatedTrack_IsolatedPixelTrackCandidate_h
3 
12 
14 
15 #include <vector>
16 #include <map>
17 #include <utility>
18 
19 namespace reco {
20 
22 
23  public:
24 
25  // default constructor
27  enIn_=-1;
28  enOut_=-1;
29  nhitIn_=-1;
30  nhitOut_=-1;
31  maxPtPxl_=-1;
32  sumPtPxl_=-1;
33  etaEcal_=0;
34  phiEcal_=0;
35  etaPhiEcal_=false;
36  }
39  enIn_=-1;
40  enOut_=-1;
41  nhitIn_=-1;
42  nhitOut_=-1;
43  maxPtPxl_=-1;
44  sumPtPxl_=-1;
45  etaEcal_=0;
46  phiEcal_=0;
47  etaPhiEcal_=false;
48  }
50  IsolatedPixelTrackCandidate(const reco::TrackRef & tr, const l1extra::L1JetParticleRef & tauRef, double max, double sum):
51  RecoCandidate( 0, LorentzVector((tr.get()->px()),(tr.get())->py(),(tr.get())->pz(),(tr.get())->p()) ),
52  track_(tr), l1tauJet_(tauRef), maxPtPxl_(max), sumPtPxl_(sum) {
53  enIn_=-1;
54  enOut_=-1;
55  nhitIn_=-1;
56  nhitOut_=-1;
57  etaEcal_=0;
58  phiEcal_=0;
59  etaPhiEcal_=false;
60  }
61 
63  IsolatedPixelTrackCandidate(const l1extra::L1JetParticleRef & tauRef, double enIn, double enOut, int nhitIn, int nhitOut):
64  RecoCandidate( 0, LorentzVector(tauRef->px(),tauRef->py(),tauRef->pz(),tauRef->p()) ),
65  l1tauJet_(tauRef), enIn_(enIn), enOut_(enOut), nhitIn_(nhitIn), nhitOut_(nhitOut) {
66  maxPtPxl_=-1;
67  sumPtPxl_=-1;
68  etaEcal_=0;
69  phiEcal_=0;
70  etaPhiEcal_=false;
71  }
74 
77 
79  virtual IsolatedPixelTrackCandidate * clone() const;
80 
82  virtual reco::TrackRef track() const;
83  void setTrack( const reco::TrackRef & tr ) { track_ = tr; }
84 
86  double maxPtPxl() const {return maxPtPxl_;}
87  void SetMaxPtPxl(double mptpxl) {maxPtPxl_=mptpxl;}
88 
90  double sumPtPxl() const {return sumPtPxl_;}
91  void SetSumPtPxl(double sumptpxl) {sumPtPxl_=sumptpxl;}
92 
94  virtual l1extra::L1JetParticleRef l1tau() const;
95  void setL1TauJet( const l1extra::L1JetParticleRef & tauRef ) { l1tauJet_ = tauRef; }
96 
98  double energyIn() const {return enIn_; }
99  void SetEnergyIn(double a) {enIn_=a;}
100 
102  double energyOut() const {return enOut_;}
103  void SetEnergyOut(double a) {enOut_=a;}
104 
106  int nHitIn() const {return nhitIn_;}
107  void SetNHitIn(int a) {nhitIn_=a;}
108 
110  int nHitOut() const {return nhitOut_;}
111  void SetNHitOut(int a) {nhitOut_=a;}
112 
114  std::pair<int,int> towerIndex() const;
115 
117  void SetEtaPhiEcal(double eta, double phi) {
119  }
120  std::pair<double,double> EtaPhiEcal() const {
121  return ((etaPhiEcal_) ? std::pair<double,double>(etaEcal_,phiEcal_) : std::pair<double,double>(0,0));
122  }
123  bool etaPhiEcal() const {return etaPhiEcal_;}
124 
125  private:
127  virtual bool overlap( const Candidate & ) const;
133  double maxPtPxl_;
135  double sumPtPxl_;
137  double enIn_;
139  double enOut_;
141  int nhitIn_;
143  int nhitOut_;
147  };
148 
149 
150 }
151 
152 #endif
double enOut_
energy in outer cone around L1 tau jet
virtual double p() const
magnitude of momentum vector
virtual reco::TrackRef track() const
refrence to a Track
reco::TrackRef track_
reference to a Track
double energyIn() const
ECAL energy in the inner cone around tau jet.
IsolatedPixelTrackCandidate(const l1extra::L1JetParticleRef &tauRef, double enIn, double enOut, int nhitIn, int nhitOut)
constructor from tau jet
virtual double eta() const
momentum pseudorapidity
double sumPtPxl() const
Pt sum of other pixel tracks in the cone around the candidate.
double sumPtPxl_
Pt sum of other pixel tracks in the cone around the candidate.
virtual IsolatedPixelTrackCandidate * clone() const
returns a clone of the candidate
int nHitOut() const
number of ECAL hits in the outer cone around tau jet
void setL1TauJet(const l1extra::L1JetParticleRef &tauRef)
int nHitIn() const
number of ECAL hits in the inner cone around tau jet
T get() const
get a component
IsolatedPixelTrackCandidate(const LorentzVector &v)
constructor from LorentzVector
std::pair< double, double > EtaPhiEcal() const
double maxPtPxl_
highest Pt of other pixel tracks in the cone around the candidate
int nhitIn_
number of hits in inner cone
virtual bool overlap(const Candidate &) const
check overlap with another candidate
virtual l1extra::L1JetParticleRef l1tau() const
get reference to L1 tau jet
int nhitOut_
number of hits in inner cone
virtual double px() const
x coordinate of momentum vector
double energyOut() const
ECAL energy in the outer cone around tau jet.
double enIn_
energy in inner cone around L1 tau jet
virtual double pz() const
z coordinate of momentum vector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
double maxPtPxl() const
highest Pt of other pixel tracks in the cone around the candidate
double a
Definition: hdecay.h:121
l1extra::L1JetParticleRef l1tauJet_
reference to a L1 tau jet
IsolatedPixelTrackCandidate(const reco::TrackRef &tr, const l1extra::L1JetParticleRef &tauRef, double max, double sum)
constructor from a track
virtual double phi() const
momentum azimuthal angle
void setTrack(const reco::TrackRef &tr)
std::pair< int, int > towerIndex() const
get index of tower which track is hitting
virtual double py() const
y coordinate of momentum vector
void SetEtaPhiEcal(double eta, double phi)
eta, phi at ECAL surface