Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef FastL1_h
0002 #define FastL1_h
0003 
0004 #include <vector>
0005 
0006 // Defining my own  class
0007 class FastL1BitInfo {
0008 public:
0009   FastL1BitInfo()
0010       : m_eta(0),
0011         m_phi(0),
0012         m_energy(0),
0013         m_et(0),
0014         m_TauVeto(false),
0015         m_EmTauVeto(false),
0016         m_HadTauVeto(false),
0017         m_IsolationVeto(false),
0018         m_PartialIsolationVeto(false),
0019         m_SumEtBelowThres(false),
0020         m_maxEt(false),
0021         m_soft(false),
0022         m_hard(false) {}
0023 
0024   ~FastL1BitInfo() {}
0025 
0026   void setEta(double Eta) { m_eta = Eta; }
0027   void setPhi(double Phi) { m_phi = Phi; }
0028   void setEnergy(double Energy) { m_energy = Energy; }
0029   void setEt(double Et) { m_et = Et; }
0030   void setTauVeto(bool tauVeto) { m_TauVeto = tauVeto; }
0031   void setEmTauVeto(bool emTauVeto) { m_EmTauVeto = emTauVeto; }
0032   void setHadTauVeto(bool hadTauVeto) { m_HadTauVeto = hadTauVeto; }
0033   void setIsolationVeto(bool isolationVeto) { m_IsolationVeto = isolationVeto; }
0034   void setPartialIsolationVeto(bool pisolationVeto) { m_PartialIsolationVeto = pisolationVeto; }
0035   void setTauVetoForPartIso(bool tauVeto) { m_TauVetoForPartIso = tauVeto; }
0036   void setSumEtBelowThres(bool sumEtBelowThres) { m_SumEtBelowThres = sumEtBelowThres; }
0037   void setMaxEt(bool MaxEt) { m_maxEt = MaxEt; }
0038   void setSoft(bool Soft) { m_soft = Soft; }
0039   void setHard(bool Hard) { m_hard = Hard; }
0040 
0041   void setHighestEtTowerID(int id) { m_HighestEtTowerID = id; }
0042   void setHighestEmEtTowerID(int id) { m_HighestEmEtTowerID = id; }
0043   void setHighestHadEtTowerID(int id) { m_HighestHadEtTowerID = id; }
0044 
0045   int getHighestEtTowerID() { return m_HighestEtTowerID; }
0046   int getHighestEmEtTowerID() { return m_HighestEmEtTowerID; }
0047   int getHighestHadEtTowerID() { return m_HighestHadEtTowerID; }
0048 
0049   double getEta() const { return m_eta; }
0050   double getPhi() const { return m_phi; }
0051   double getEnergy() const { return m_energy; }
0052   double getEt() const { return m_et; }
0053   bool getTauVeto() const { return m_TauVeto; }
0054   bool getEmTauVeto() const { return m_EmTauVeto; }
0055   bool getHadTauVeto() const { return m_HadTauVeto; }
0056   bool getIsolationVeto() const { return m_IsolationVeto; }
0057   bool getTauVetoForPartIso() const { return m_TauVetoForPartIso; }
0058   bool getPartialIsolationVeto() const { return m_PartialIsolationVeto; }
0059   bool getSumEtBelowThres() const { return m_SumEtBelowThres; }
0060   bool getMaxEt() const { return m_maxEt; }
0061   bool getSoft() const { return m_soft; }
0062   bool getHard() const { return m_hard; }
0063 
0064 private:
0065   double m_eta;
0066   double m_phi;
0067   double m_energy;
0068   double m_et;
0069 
0070   // ID is defined like this:
0071   //  0  1  2  3
0072   //  4  5  6  7
0073   //  8  9 10 11
0074   // 12 13 14 15
0075   int m_HighestEtTowerID;
0076   int m_HighestEmEtTowerID;
0077   int m_HighestHadEtTowerID;
0078 
0079   bool m_TauVeto;
0080   bool m_EmTauVeto;
0081   bool m_HadTauVeto;
0082   bool m_IsolationVeto;
0083   bool m_TauVetoForPartIso;
0084   bool m_PartialIsolationVeto;
0085   bool m_SumEtBelowThres;
0086   bool m_maxEt;
0087   bool m_soft;
0088   bool m_hard;
0089 };
0090 
0091 // Defining vector of my classs
0092 typedef std::vector<FastL1BitInfo> FastL1BitInfoCollection;
0093 
0094 #endif