File indexing completed on 2023-03-17 11:11:29
0001 #ifndef GlobalTrigger_L1GtCorrelationCondition_h
0002 #define GlobalTrigger_L1GtCorrelationCondition_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include <iosfwd>
0020 #include <string>
0021
0022
0023
0024 #include "L1Trigger/GlobalTrigger/interface/L1GtConditionEvaluation.h"
0025
0026
0027 class L1GtCondition;
0028 class L1GtCorrelationTemplate;
0029 class L1GlobalTriggerGTL;
0030 class L1GlobalTriggerPSB;
0031 class L1GtEtaPhiConversions;
0032
0033
0034 class L1GtCorrelationCondition : public L1GtConditionEvaluation {
0035 public:
0036
0037
0038 L1GtCorrelationCondition();
0039
0040
0041 L1GtCorrelationCondition(const L1GtCondition *,
0042 const L1GtCondition *,
0043 const L1GtCondition *,
0044 const int,
0045 const int,
0046 const int,
0047 const int,
0048 const L1GlobalTriggerGTL *,
0049 const L1GlobalTriggerPSB *,
0050 const L1GtEtaPhiConversions *);
0051
0052
0053 L1GtCorrelationCondition(const L1GtCorrelationCondition &);
0054
0055
0056 ~L1GtCorrelationCondition() override;
0057
0058
0059 L1GtCorrelationCondition &operator=(const L1GtCorrelationCondition &);
0060
0061 public:
0062
0063 const bool evaluateCondition() const override;
0064
0065
0066 void print(std::ostream &myCout) const override;
0067
0068 public:
0069
0070 inline const unsigned int gtNrBinsPhi() const { return m_nrBinsPhi; }
0071
0072 void setGtNrBinsPhi(const unsigned int);
0073
0074
0075 inline const L1GtCorrelationTemplate *gtCorrelationTemplate() const { return m_gtCorrelationTemplate; }
0076
0077 void setGtCorrelationTemplate(const L1GtCorrelationTemplate *);
0078
0079
0080 inline const L1GlobalTriggerGTL *gtGTL() const { return m_gtGTL; }
0081
0082 void setGtGTL(const L1GlobalTriggerGTL *);
0083
0084
0085 inline const L1GlobalTriggerPSB *gtPSB() const { return m_gtPSB; }
0086
0087 void setGtPSB(const L1GlobalTriggerPSB *);
0088
0089 private:
0090
0091 void copy(const L1GtCorrelationCondition &cp);
0092
0093 private:
0094
0095 const L1GtCorrelationTemplate *m_gtCorrelationTemplate;
0096
0097
0098 const L1GtCondition *m_gtCond0;
0099
0100
0101 const L1GtCondition *m_gtCond1;
0102
0103
0104 int m_cond0NrL1Objects;
0105 int m_cond1NrL1Objects;
0106 int m_cond0EtaBits;
0107 int m_cond1EtaBits;
0108
0109
0110 unsigned int m_nrBinsPhi;
0111
0112
0113 const L1GlobalTriggerGTL *m_gtGTL;
0114
0115
0116 const L1GlobalTriggerPSB *m_gtPSB;
0117
0118
0119 const L1GtEtaPhiConversions *m_gtEtaPhiConversions;
0120
0121 private:
0122 bool m_isDebugEnabled;
0123 };
0124
0125 #endif