Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:35:54

0001 #ifndef DataFormats_L1TCalorimeterPhase2_CaloPFCluster_h
0002 #define DataFormats_L1TCalorimeterPhase2_CaloPFCluster_h
0003 
0004 #include <vector>
0005 #include <map>
0006 #include <string>
0007 #include <algorithm>
0008 #include "DataFormats/L1Trigger/interface/L1Candidate.h"
0009 
0010 namespace l1tp2 {
0011 
0012   class CaloPFCluster : public l1t::L1Candidate {
0013   public:
0014     CaloPFCluster()
0015         : l1t::L1Candidate(),
0016           clusterEt_(0.),
0017           clusterIEta_(-99),
0018           clusterIPhi_(-99),
0019           clusterEta_(-99.),
0020           clusterPhi_(-99.) {}
0021 
0022     CaloPFCluster(const PolarLorentzVector& p4,
0023                   float clusterEt,
0024                   int clusterIEta,
0025                   int clusterIPhi,
0026                   float clusterEta,
0027                   float clusterPhi)
0028         : l1t::L1Candidate(p4),
0029           clusterEt_(clusterEt),
0030           clusterIEta_(clusterIEta),
0031           clusterIPhi_(clusterIPhi),
0032           clusterEta_(clusterEta),
0033           clusterPhi_(clusterPhi) {}
0034 
0035     inline float clusterEt() const { return clusterEt_; };
0036     inline int clusterIEta() const { return clusterIEta_; };
0037     inline int clusterIPhi() const { return clusterIPhi_; };
0038     inline float clusterEta() const { return clusterEta_; };
0039     inline float clusterPhi() const { return clusterPhi_; };
0040     void setClusterEt(float clusterEtIn) { clusterEt_ = clusterEtIn; };
0041     void setClusterIEta(int clusterIEtaIn) { clusterIEta_ = clusterIEtaIn; };
0042     void setClusterIPhi(int clusterIPhiIn) { clusterIPhi_ = clusterIPhiIn; };
0043     void setClusterEta(float clusterEtaIn) { clusterEta_ = clusterEtaIn; };
0044     void setClusterPhi(float clusterPhiIn) { clusterPhi_ = clusterPhiIn; };
0045 
0046   private:
0047     // ET
0048     float clusterEt_;
0049     // GCT ieta
0050     int clusterIEta_;
0051     // GCT iphi
0052     int clusterIPhi_;
0053     // Tower (real) eta
0054     float clusterEta_;
0055     // Tower (real) phi
0056     float clusterPhi_;
0057   };
0058 
0059   // Concrete collection of output objects (with extra tuning information)
0060   typedef std::vector<l1tp2::CaloPFCluster> CaloPFClusterCollection;
0061 }  // namespace l1tp2
0062 #endif