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.
virtual float phi() const
momentum azimuthal angle
IsolatedPixelTrackCandidate(const l1extra::L1JetParticleRef &tauRef, double enIn, double enOut, int nhitIn, int nhitOut)
constructor from tau jet
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 float eta() const
momentum pseudorapidity
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:41
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
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