00001 #pragma once
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef TRIGSTEERINGEVENT_Lvl1Item_H
00019 #define TRIGSTEERINGEVENT_Lvl1Item_H
00020
00021 #include <stdint.h>
00022 #include <string>
00023 #include <vector>
00024 #include "xAODCore/CLASS_DEF.h"
00025
00026 namespace LVL1CTP {
00027
00033 class Lvl1Item {
00034
00035 public:
00036
00037 Lvl1Item( std::string n, unsigned int hash, bool passBP = false,
00038 bool passAP = true, bool passAV = true, float factor = 1) :
00039 m_name(n), m_hashId(hash), m_passBP(passBP), m_passAP(passAP), m_passAV(passAV),
00040 m_prescaleFactor(factor) {}
00041
00042 std::string name() const { return m_name; }
00043 unsigned int hashId() const { return m_hashId; }
00044
00045 bool isPassedBeforePrescale() const { return m_passBP; }
00046 bool isPassedAfterPrescale() const { return m_passAP; }
00047 bool isPassedAfterVeto() const { return m_passAV; }
00048
00049 bool isPassed() const { return isPassedAfterVeto(); }
00050
00051 bool isPrescaled() const { return isPassedBeforePrescale() && ! isPassedAfterPrescale(); }
00052 bool isVeto() const { return isPassedAfterPrescale() && ! isPassedAfterVeto(); }
00053
00054 float prescaleFactor() const { return m_prescaleFactor; }
00055
00056 void setName (std::string name) { m_name = name; }
00057 void setHashId(unsigned int hash) { m_hashId = hash; }
00058 void setPrescaleFactor(float factor) { m_prescaleFactor = factor; }
00059
00060 private:
00061
00062 std::string m_name;
00063 unsigned int m_hashId;
00064 bool m_passBP, m_passAP, m_passAV;
00065 float m_prescaleFactor;
00066 };
00067
00068 }
00069
00070 #endif