Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:31

0001 #ifndef DataFormatsL1TCorrelator_TkHTMiss_h
0002 #define DataFormatsL1TCorrelator_TkHTMiss_h
0003 // Package:     L1Trigger
0004 // Class  :     TkHTMiss
0005 
0006 #include "DataFormats/L1Trigger/interface/L1Candidate.h"
0007 #include "DataFormats/Common/interface/Ref.h"
0008 #include "DataFormats/Common/interface/RefProd.h"
0009 #include "DataFormats/Common/interface/Ref.h"
0010 #include "DataFormats/L1Trigger/interface/Vertex.h"
0011 #include "DataFormats/L1TCorrelator/interface/TkJet.h"
0012 #include "DataFormats/L1TCorrelator/interface/TkJetFwd.h"
0013 
0014 namespace l1t {
0015   class TkHTMiss : public L1Candidate {
0016   public:
0017     TkHTMiss();
0018     TkHTMiss(const LorentzVector& p4,
0019              double EtTotal,
0020              const edm::RefProd<TkJetCollection>& jetCollRef = edm::RefProd<TkJetCollection>(),
0021              const edm::Ref<VertexCollection>& aVtxRef = edm::Ref<VertexCollection>(),
0022              int bx = 0);
0023 
0024     // ---------- const member functions ---------------------
0025     double EtMiss() const {  // HTM (missing HT)
0026       return et();
0027     }
0028     double etTotal() const { return etTot_; }
0029     // HTM and HT from PU vertices
0030     double etMissPU() const { return etMissPU_; }
0031     double etTotalPU() const { return etTotalPU_; }
0032     int bx() const { return bx_; }
0033     float vtx() const { return zvtx_; }
0034     const edm::RefProd<TkJetCollection>& jetCollectionRef() const { return jetCollectionRef_; }
0035     const edm::Ref<VertexCollection>& vtxRef() const { return vtxRef_; }
0036 
0037     // ---------- member functions ---------------------------
0038     void setEtTotal(double EtTotal) { etTot_ = EtTotal; }
0039     void setEtTotalPU(double EtTotalPU) { etTotalPU_ = EtTotalPU; }
0040     void setEtMissPU(double EtMissPU) { etMissPU_ = EtMissPU; }
0041     void setVtx(const float& zvtx) { zvtx_ = zvtx; }
0042     void setBx(int bx) { bx_ = bx; }
0043 
0044   private:
0045     // ---------- member data --------------------------------
0046     float zvtx_;        // zvtx used to constrain the jets
0047     double etTot_;      // HT
0048     double etMissPU_;   // HTM form jets that don't come from zvtx
0049     double etTotalPU_;  // HT from jets that don't come from zvtx
0050 
0051     edm::RefProd<TkJetCollection> jetCollectionRef_;
0052     edm::Ref<VertexCollection> vtxRef_;
0053 
0054     int bx_;
0055   };
0056 }  // namespace l1t
0057 
0058 #endif