File indexing completed on 2024-05-11 03:34:02
0001 #ifndef DataFormats_L1Trigger_MuonShower_h
0002 #define DataFormats_L1Trigger_MuonShower_h
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "DataFormats/Common/interface/Ref.h"
0012 #include "DataFormats/L1Trigger/interface/L1Candidate.h"
0013 #include "DataFormats/L1Trigger/interface/BXVector.h"
0014 #include "DataFormats/L1Trigger/interface/L1TObjComparison.h"
0015
0016 namespace l1t {
0017
0018 class MuonShower;
0019 typedef BXVector<MuonShower> MuonShowerBxCollection;
0020 typedef edm::Ref<MuonShowerBxCollection> MuonShowerRef;
0021 typedef edm::RefVector<MuonShowerBxCollection> MuonShowerRefVector;
0022 typedef std::vector<MuonShowerRef> MuonShowerVectorRef;
0023
0024 typedef ObjectRefBxCollection<MuonShower> MuonShowerRefBxCollection;
0025 typedef ObjectRefPair<MuonShower> MuonShowerRefPair;
0026 typedef ObjectRefPairBxCollection<MuonShower> MuonShowerRefPairBxCollection;
0027
0028 class MuonShower : public L1Candidate {
0029 public:
0030 MuonShower(bool oneNominalInTime = false,
0031 bool oneNominalOutOfTime = false,
0032 bool twoLooseInTime = false,
0033 bool twoLooseOutOfTime = false,
0034 bool oneTightInTime = false,
0035 bool oneTightOutOfTime = false,
0036 bool twoLooseDiffSectorsIntime = false);
0037
0038 ~MuonShower() override;
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060 void setOneNominalInTime(const bool bit) { oneNominalInTime_ = bit; }
0061 void setOneTightInTime(const bool bit) { oneTightInTime_ = bit; }
0062 void setTwoLooseDiffSectorsInTime(const bool bit) { twoLooseDiffSectorsInTime_ = bit; }
0063 void setMusOutOfTime0(const bool bit) { musOutOfTime0_ = bit; }
0064 void setMusOutOfTime1(const bool bit) { musOutOfTime1_ = bit; }
0065
0066 bool isOneNominalInTime() const { return oneNominalInTime_; }
0067 bool isOneTightInTime() const { return oneTightInTime_; }
0068 bool isTwoLooseDiffSectorsInTime() const { return twoLooseDiffSectorsInTime_; }
0069 bool musOutOfTime0() const { return musOutOfTime0_; }
0070 bool musOutOfTime1() const { return musOutOfTime1_; }
0071
0072
0073 bool isValid() const;
0074
0075
0076 bool isTwoLooseInTime() const { return false; }
0077
0078 bool isOneNominalOutOfTime() const { return false; }
0079 bool isTwoLooseOutOfTime() const { return false; }
0080 bool isOneTightOutOfTime() const { return false; }
0081
0082 bool operator==(const l1t::MuonShower& rhs) const;
0083 inline bool operator!=(const l1t::MuonShower& rhs) const { return !(operator==(rhs)); };
0084
0085 private:
0086 using L1Candidate::operator==;
0087 using L1Candidate::operator!=;
0088
0089
0090 bool oneNominalInTime_;
0091 bool oneTightInTime_;
0092 bool twoLooseDiffSectorsInTime_;
0093 bool musOutOfTime0_;
0094 bool musOutOfTime1_;
0095 };
0096
0097 }
0098
0099 #endif