00001 #ifndef TrigConf_ClusterThresholdValue
00002 #define TrigConf_ClusterThresholdValue
00003
00004 #include "TrigConfL1Data/TriggerThresholdValue.h"
00005
00006 namespace TrigConf {
00007
00008 class ClusterThresholdValue : public TriggerThresholdValue {
00009 public:
00010 ClusterThresholdValue();
00011 ~ClusterThresholdValue();
00012
00013 virtual TriggerThresholdValue* createCopy() const;
00014
00015
00016 float emIsolation() const { return m_EmIsolation; }
00017 float hadIsolation() const { return m_HadIsolation; }
00018 float hadVeto() const { return m_HadVeto; }
00019
00020 int emIsolationCount() const;
00021 int hadIsolationCount() const;
00022 int hadVetoCount() const;
00023
00024
00025 bool useIsolationMask() const { return m_useIsolationMask; }
00026 uint16_t emIsolationMask() const { return m_IsolationMask; }
00027 uint16_t hadIsolationMask() const { return m_HadIsolationMask; }
00028 uint16_t isolationMask() const { return m_IsolationMask; }
00029
00030 virtual int thresholdValueCount() const override;
00031
00032
00033 void setEmIsolation(float v) { m_EmIsolation = v; }
00034 void setHadIsolation(float v) { m_HadIsolation = v; }
00035 void setHadVeto(float v) { m_HadVeto = v; }
00036
00037
00038 void setUseIsolationMask(bool use=true) { m_useIsolationMask = use; }
00039 void setEmIsolationMask(uint16_t mask) { m_IsolationMask = mask; }
00040 void setHadIsolationMask(uint16_t mask) { m_HadIsolationMask = mask; }
00041 void setIsolationMask(uint16_t mask) { m_IsolationMask = mask; }
00042
00043 virtual void print(const std::string& indent="", unsigned int detail=1) const override;
00044 void writeXML(std::ostream & xmlfile, int indentLevel=0, int indentWidth=2) const override;
00045
00046 private:
00047 float m_EmIsolation;
00048 float m_HadIsolation;
00049 float m_HadVeto;
00050
00057 uint16_t m_IsolationMask;
00058 uint16_t m_HadIsolationMask;
00059
00060 bool m_useIsolationMask;
00061 };
00062
00063 }
00064
00065 #endif