Back to home page

Project CMSSW displayed by LXR

 
 

    


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);  // ieta of seed tower
0029     void setTowerIPhi(short int iphi);  // iphi of seed tower
0030     void setRawEt(short int et);        // raw (uncalibrated) cluster sum
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     // additional hardware quantities common to L1 global jet
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 }  // namespace l1t
0059 
0060 #endif