File indexing completed on 2024-04-06 12:04:28
0001 #ifndef L1GlobalTrigger_L1GlobalTriggerRecord_h
0002 #define L1GlobalTrigger_L1GlobalTriggerRecord_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include <vector>
0020 #include <iosfwd>
0021
0022
0023 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
0024
0025
0026 namespace edm {
0027 template <typename T>
0028 class Handle;
0029 }
0030
0031
0032
0033 class L1GlobalTriggerRecord {
0034 public:
0035
0036 L1GlobalTriggerRecord();
0037
0038 L1GlobalTriggerRecord(const unsigned int numberPhysTriggers, const unsigned int numberTechnicalTriggers);
0039
0040
0041 L1GlobalTriggerRecord(const L1GlobalTriggerRecord&);
0042
0043
0044 virtual ~L1GlobalTriggerRecord();
0045
0046
0047 L1GlobalTriggerRecord& operator=(const L1GlobalTriggerRecord&);
0048
0049
0050 bool operator==(const L1GlobalTriggerRecord&) const;
0051
0052
0053 bool operator!=(const L1GlobalTriggerRecord&) const;
0054
0055 public:
0056
0057
0058 inline const bool decision() const { return m_gtGlobalDecision; }
0059
0060 inline const DecisionWord decisionWord() const { return m_gtDecisionWord; }
0061
0062 inline const TechnicalTriggerWord technicalTriggerWord() const { return m_gtTechnicalTriggerWord; }
0063
0064 inline const DecisionWord decisionWordBeforeMask() const { return m_gtDecisionWordBeforeMask; }
0065
0066 inline const TechnicalTriggerWord technicalTriggerWordBeforeMask() const {
0067 return m_gtTechnicalTriggerWordBeforeMask;
0068 }
0069
0070
0071
0072 void setDecision(const bool& dValue);
0073 void setDecisionWord(const DecisionWord& dWordValue);
0074 void setTechnicalTriggerWord(const TechnicalTriggerWord& ttWordValue);
0075
0076 void setDecisionWordBeforeMask(const DecisionWord& dWordValue);
0077 void setTechnicalTriggerWordBeforeMask(const TechnicalTriggerWord& ttWordValue);
0078
0079
0080
0081 inline const unsigned int gtPrescaleFactorIndexTech() const { return m_gtPrescaleFactorIndexTech; }
0082
0083 void setGtPrescaleFactorIndexTech(const unsigned int& gtPrescaleFactorIndexTechValue) {
0084 m_gtPrescaleFactorIndexTech = gtPrescaleFactorIndexTechValue;
0085 }
0086
0087 inline const unsigned int gtPrescaleFactorIndexAlgo() const { return m_gtPrescaleFactorIndexAlgo; }
0088
0089 void setGtPrescaleFactorIndexAlgo(const unsigned int& gtPrescaleFactorIndexAlgoValue) {
0090 m_gtPrescaleFactorIndexAlgo = gtPrescaleFactorIndexAlgoValue;
0091 }
0092
0093
0094 void printGtDecision(std::ostream& myCout) const;
0095
0096
0097 void printTechnicalTrigger(std::ostream& myCout) const;
0098
0099
0100
0101
0102 void reset();
0103
0104
0105 void print(std::ostream& myCout) const;
0106
0107
0108 friend std::ostream& operator<<(std::ostream&, const L1GlobalTriggerRecord&);
0109
0110 private:
0111
0112 bool m_gtGlobalDecision;
0113
0114
0115 DecisionWord m_gtDecisionWord;
0116
0117
0118 TechnicalTriggerWord m_gtTechnicalTriggerWord;
0119
0120
0121 DecisionWord m_gtDecisionWordBeforeMask;
0122
0123
0124 TechnicalTriggerWord m_gtTechnicalTriggerWordBeforeMask;
0125
0126
0127
0128 unsigned int m_gtPrescaleFactorIndexTech;
0129 unsigned int m_gtPrescaleFactorIndexAlgo;
0130 };
0131
0132 #endif