Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DataFormats_L1Trigger_CaloSpare_h
0002 #define DataFormats_L1Trigger_CaloSpare_h
0003 
0004 #include "DataFormats/L1Trigger/interface/L1Candidate.h"
0005 #include "DataFormats/L1Trigger/interface/BXVector.h"
0006 
0007 namespace l1t {
0008 
0009   class CaloSpare;
0010   typedef BXVector<CaloSpare> CaloSpareBxCollection;
0011 
0012   class CaloSpare : public L1Candidate {
0013   public:
0014     enum CaloSpareType { HFBitCount, HFRingSum, Tau, Centrality, V2 };
0015 
0016     CaloSpare() {}
0017     CaloSpare(const LorentzVector& p4, CaloSpareType type, int pt = 0, int eta = 0, int phi = 0, int qual = 0);
0018 
0019     CaloSpare(const PolarLorentzVector& p4, CaloSpareType type, int pt = 0, int eta = 0, int phi = 0, int qual = 0);
0020 
0021     ~CaloSpare() override;
0022 
0023     void setType(CaloSpareType type);
0024 
0025     int GetRing(unsigned index) const;
0026     void SetRing(unsigned index, int value);
0027 
0028     CaloSpareType getType() const;
0029 
0030   private:
0031     // type of CaloSpare
0032     CaloSpareType type_;
0033 
0034     // additional hardware quantities common to L1 global CaloSpare
0035     // there are currently none
0036   };
0037 
0038 }  // namespace l1t
0039 
0040 #endif