Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DataFormats_L1TCalorimeterPhase2_Phase2L1CaloJet_h
0002 #define DataFormats_L1TCalorimeterPhase2_Phase2L1CaloJet_h
0003 
0004 #include <vector>
0005 #include <map>
0006 #include <string>
0007 #include <algorithm>
0008 #include "DataFormats/L1Trigger/interface/L1Candidate.h"
0009 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0010 
0011 namespace l1tp2 {
0012 
0013   class Phase2L1CaloJet : public l1t::L1Candidate {
0014   public:
0015     Phase2L1CaloJet()
0016         : l1t::L1Candidate(),
0017           jetEt_(0.),
0018           tauEt_(0.),
0019           jetIEta_(-99),
0020           jetIPhi_(-99),
0021           jetEta_(-99.),
0022           jetPhi_(-99.),
0023           towerEt_(0.),
0024           towerIEta_(-99),
0025           towerIPhi_(-99),
0026           towerEta_(-99.),
0027           towerPhi_(-99.){};
0028 
0029     Phase2L1CaloJet(const PolarLorentzVector& p4,
0030                     float jetEt,
0031                     float tauEt,
0032                     int jetIEta,
0033                     int jetIPhi,
0034                     float jetEta,
0035                     float jetPhi,
0036                     float towerEt,
0037                     int towerIEta,
0038                     int towerIPhi,
0039                     float towerEta,
0040                     float towerPhi)
0041         : l1t::L1Candidate(p4),
0042           jetEt_(jetEt),
0043           tauEt_(tauEt),
0044           jetIEta_(jetIEta),
0045           jetIPhi_(jetIPhi),
0046           jetEta_(jetEta),
0047           jetPhi_(jetPhi),
0048           towerEt_(towerEt),
0049           towerIEta_(towerIEta),
0050           towerIPhi_(towerIPhi),
0051           towerEta_(towerEta),
0052           towerPhi_(towerPhi){};
0053 
0054     inline float jetEt() const { return jetEt_; };
0055     inline float tauEt() const { return tauEt_; };
0056     inline int jetIEta() const { return jetIEta_; };
0057     inline int jetIPhi() const { return jetIPhi_; };
0058     inline float jetEta() const { return jetEta_; };
0059     inline float jetPhi() const { return jetPhi_; };
0060     inline float towerEt() const { return towerEt_; };
0061     inline int towerIEta() const { return towerIEta_; };
0062     inline int towerIPhi() const { return towerIPhi_; };
0063     inline float towerEta() const { return towerEta_; };
0064     inline float towerPhi() const { return towerPhi_; };
0065 
0066     void setJetEt(float jetEtIn) { jetEt_ = jetEtIn; };
0067     void setTauEt(float tauEtIn) { tauEt_ = tauEtIn; };
0068     void setJetIEta(int jetIEtaIn) { jetIEta_ = jetIEtaIn; };
0069     void setJetIPhi(int jetIPhiIn) { jetIPhi_ = jetIPhiIn; };
0070     void setJetEta(float jetEtaIn) { jetEta_ = jetEtaIn; };
0071     void setJetPhi(float jetPhiIn) { jetPhi_ = jetPhiIn; };
0072     void setTowerEt(float towerEtIn) { towerEt_ = towerEtIn; };
0073     void setTowerIEta(int towerIEtaIn) { towerIEta_ = towerIEtaIn; };
0074     void setTowerIPhi(int towerIPhiIn) { towerIPhi_ = towerIPhiIn; };
0075     void setTowerEta(float towerEtaIn) { towerEta_ = towerEtaIn; };
0076     void setTowerPhi(float towerPhiIn) { towerPhi_ = towerPhiIn; };
0077 
0078   private:
0079     // ET
0080     float jetEt_;
0081     // Tau ET
0082     float tauEt_;
0083     // GCT ieta
0084     int jetIEta_;
0085     // GCT iphi
0086     int jetIPhi_;
0087     // Tower (real) eta
0088     float jetEta_;
0089     // Tower (real) phi
0090     float jetPhi_;
0091     float towerEt_;
0092     int towerIEta_;
0093     int towerIPhi_;
0094     float towerEta_;
0095     float towerPhi_;
0096   };
0097 
0098   // Concrete collection of output objects (with extra tuning information)
0099   typedef std::vector<l1tp2::Phase2L1CaloJet> Phase2L1CaloJetCollection;
0100 }  // namespace l1tp2
0101 #endif