File indexing completed on 2024-04-06 12:04:31
0001 #ifndef DataFormatsL1TCorrelator_TkEtMiss_h
0002 #define DataFormatsL1TCorrelator_TkEtMiss_h
0003
0004 #include "DataFormats/L1Trigger/interface/L1Candidate.h"
0005 #include "DataFormats/Common/interface/Ref.h"
0006 #include "DataFormats/L1Trigger/interface/VertexWord.h"
0007
0008 namespace l1t {
0009 class TkEtMiss : public L1Candidate {
0010 public:
0011 enum EtMissType { kMET, kMHT, kNumTypes };
0012 TkEtMiss();
0013 TkEtMiss(const LorentzVector& p4,
0014 EtMissType type,
0015 const double& etTotal,
0016 const double& etMissPU,
0017 const double& etTotalPU,
0018 const edm::Ref<l1t::VertexWordCollection>& aVtxRef = edm::Ref<l1t::VertexWordCollection>(),
0019 int bx = 0);
0020
0021 TkEtMiss(const LorentzVector& p4,
0022 EtMissType type,
0023 const double& etTotal,
0024 const double& etMissPU,
0025 const double& etTotalPU,
0026 int bx = 0);
0027
0028 TkEtMiss(const LorentzVector& p4, EtMissType type, const double& EtPhi, const int& NumTracks, int bx = 0);
0029
0030
0031 EtMissType type() const { return type_; }
0032
0033 double etMiss() const { return et(); }
0034
0035 double etTotal() const { return etTot_; }
0036
0037 double etMissPU() const { return etMissPU_; }
0038 double etTotalPU() const { return etTotalPU_; }
0039 int bx() const { return bx_; }
0040 const edm::Ref<l1t::VertexWordCollection>& vtxRef() const { return vtxRef_; }
0041
0042 double etPhi() const { return etPhi_; }
0043 int etQual() const { return etQual_; }
0044
0045
0046 void setEtTotal(const double& etTotal) { etTot_ = etTotal; }
0047 void setBx(int bx) { bx_ = bx; }
0048
0049 private:
0050
0051 EtMissType type_;
0052 double etTot_;
0053 double etMissPU_;
0054 double etTotalPU_;
0055 edm::Ref<l1t::VertexWordCollection> vtxRef_;
0056
0057 double etMiss_;
0058 double etPhi_;
0059 int etQual_;
0060
0061 int bx_;
0062 };
0063 }
0064
0065 #endif