CaloTower

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
#ifndef DataFormats_L1TCalorimeter_CaloTower_h
#define DataFormats_L1TCalorimeter_CaloTower_h

#include "DataFormats/L1Trigger/interface/L1Candidate.h"
#include "DataFormats/L1Trigger/interface/BXVector.h"

namespace l1t {

  class CaloTower;
  typedef BXVector<CaloTower> CaloTowerBxCollection;

  class CaloTower : public L1Candidate {
  public:
    CaloTower() : etEm_(0.), etHad_(0.), hwEtEm_(0), hwEtHad_(0), hwEtRatio_(0) {}

    CaloTower(const LorentzVector& p4,
              double etEm = 0.,
              double etHad = 0.,
              int pt = 0,
              int eta = 0,
              int phi = 0,
              int qual = 0,
              int hwEtEm = 0,
              int hwEtHad = 0,
              int hwEtRatio = 0);

    ~CaloTower() override;

    void setEtEm(double et);
    void setEtHad(double et);

    void setHwEtEm(int et);
    void setHwEtHad(int et);
    void setHwEtRatio(int ratio);

    double etEm() const;
    double etHad() const;

    int hwEtEm() const;
    int hwEtHad() const;
    int hwEtRatio() const;

  private:
    // additional hardware quantities
    double etEm_;
    double etHad_;

    int hwEtEm_;
    int hwEtHad_;
    int hwEtRatio_;
  };

}  // namespace l1t

#endif