File indexing completed on 2022-02-08 06:27:46
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
0037 ~MuonShower() override;
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057 void setOneNominalInTime(const bool bit) { oneNominalInTime_ = bit; }
0058 void setOneTightInTime(const bool bit) { oneTightInTime_ = bit; }
0059 void setMus0(const bool bit) { oneNominalInTime_ = bit; }
0060 void setMus1(const bool bit) { oneTightInTime_ = bit; }
0061 void setMusOutOfTime0(const bool bit) { musOutOfTime0_ = bit; }
0062 void setMusOutOfTime1(const bool bit) { musOutOfTime1_ = bit; }
0063
0064 bool mus0() const { return oneNominalInTime_; }
0065 bool mus1() const { return oneTightInTime_; }
0066 bool musOutOfTime0() const { return musOutOfTime0_; }
0067 bool musOutOfTime1() const { return musOutOfTime1_; }
0068
0069
0070 bool isValid() const;
0071
0072
0073
0074 bool isOneNominalInTime() const { return oneNominalInTime_; }
0075 bool isOneTightInTime() const { return oneTightInTime_; }
0076
0077 bool isTwoLooseInTime() const { return false; }
0078
0079 bool isOneNominalOutOfTime() const { return false; }
0080 bool isTwoLooseOutOfTime() const { return false; }
0081 bool isOneTightOutOfTime() const { return false; }
0082
0083 virtual bool operator==(const l1t::MuonShower& rhs) const;
0084 virtual inline bool operator!=(const l1t::MuonShower& rhs) const { return !(operator==(rhs)); };
0085
0086 private:
0087
0088
0089 bool oneNominalInTime_;
0090 bool oneTightInTime_;
0091 bool musOutOfTime0_;
0092 bool musOutOfTime1_;
0093 };
0094
0095 }
0096
0097 #endif