File indexing completed on 2024-05-11 03:34:02
0001 #ifndef DataFormats_L1Trigger_Jet_h
0002 #define DataFormats_L1Trigger_Jet_h
0003
0004 #include "DataFormats/L1Trigger/interface/L1Candidate.h"
0005 #include "DataFormats/L1Trigger/interface/BXVector.h"
0006 #include "DataFormats/L1Trigger/interface/L1TObjComparison.h"
0007
0008 namespace l1t {
0009
0010 class Jet;
0011 typedef BXVector<Jet> JetBxCollection;
0012 typedef edm::Ref<JetBxCollection> JetRef;
0013 typedef edm::RefVector<JetBxCollection> JetRefVector;
0014 typedef std::vector<JetRef> JetVectorRef;
0015
0016 typedef ObjectRefBxCollection<Jet> JetRefBxCollection;
0017 typedef ObjectRefPair<Jet> JetRefPair;
0018 typedef ObjectRefPairBxCollection<Jet> JetRefPairBxCollection;
0019
0020 class Jet : public L1Candidate {
0021 public:
0022 Jet() { clear_extended(); }
0023 Jet(const LorentzVector& p4, int pt = 0, int eta = 0, int phi = 0, int qual = 0);
0024 Jet(const PolarLorentzVector& p4, int pt = 0, int eta = 0, int phi = 0, int qual = 0);
0025
0026 ~Jet() override;
0027
0028 void setTowerIEta(short int ieta);
0029 void setTowerIPhi(short int iphi);
0030 void setRawEt(short int et);
0031 void setSeedEt(short int et);
0032 void setPUEt(short int et);
0033 void setPUDonutEt(unsigned int i, short int et);
0034
0035 short int towerIEta() const;
0036 short int towerIPhi() const;
0037 short int rawEt() const;
0038 short int seedEt() const;
0039 short int puEt() const;
0040 short int puDonutEt(int i) const;
0041
0042 bool operator==(const l1t::Jet& rhs) const;
0043 inline bool operator!=(const l1t::Jet& rhs) const { return !(operator==(rhs)); };
0044
0045 private:
0046 using L1Candidate::operator==;
0047 using L1Candidate::operator!=;
0048
0049 void clear_extended();
0050 short int towerIEta_;
0051 short int towerIPhi_;
0052 short int rawEt_;
0053 short int seedEt_;
0054 short int puEt_;
0055 short int puDonutEt_[4];
0056 };
0057
0058 }
0059
0060 #endif