File indexing completed on 2024-04-06 12:04:34
0001 #ifndef DataFormats_L1Trigger_RegionalMuonShower_h
0002 #define DataFormats_L1Trigger_RegionalMuonShower_h
0003
0004 #include "DataFormats/Common/interface/Ref.h"
0005 #include "DataFormats/L1Trigger/interface/BXVector.h"
0006 #include "DataFormats/L1Trigger/interface/L1TObjComparison.h"
0007
0008 #include "RegionalMuonCandFwd.h" // For tftype.
0009
0010 namespace l1t {
0011
0012 class RegionalMuonShower;
0013 typedef BXVector<RegionalMuonShower> RegionalMuonShowerBxCollection;
0014 typedef ObjectRefBxCollection<RegionalMuonShower> RegionalMuonShowerRefBxCollection;
0015 typedef ObjectRefPair<RegionalMuonShower> RegionalMuonShowerRefPair;
0016 typedef ObjectRefPairBxCollection<RegionalMuonShower> RegionalMuonShowerRefPairBxCollection;
0017
0018 class RegionalMuonShower {
0019 public:
0020 RegionalMuonShower(bool oneNominalInTime = false,
0021 bool oneNominalOutOfTime = false,
0022 bool twoLooseInTime = false,
0023 bool twoLooseOutOfTime = false,
0024 bool oneLooseInTime = false,
0025 bool oneTightInTime = false,
0026 bool oneTightOutOfTime = false);
0027
0028 ~RegionalMuonShower();
0029
0030 void setOneNominalInTime(const bool bit) { isOneNominalInTime_ = bit; }
0031 void setOneNominalOutOfTime(const bool bit) { isOneNominalOutOfTime_ = bit; }
0032 void setOneTightInTime(const bool bit) { isOneTightInTime_ = bit; }
0033 void setOneTightOutOfTime(const bool bit) { isOneTightOutOfTime_ = bit; }
0034 void setTwoLooseOutOfTime(const bool bit) { isTwoLooseOutOfTime_ = bit; }
0035 void setTwoLooseInTime(const bool bit) { isTwoLooseInTime_ = bit; }
0036 void setOneLooseInTime(const bool bit) { isOneLooseInTime_ = bit; }
0037
0038
0039 void setTFIdentifiers(int processor, tftype trackFinder);
0040
0041 bool isValid() const;
0042 bool isOneNominalInTime() const { return isOneNominalInTime_; }
0043 bool isOneNominalOutOfTime() const { return isOneNominalOutOfTime_; }
0044 bool isOneTightInTime() const { return isOneTightInTime_; }
0045 bool isOneTightOutOfTime() const { return isOneTightOutOfTime_; }
0046 bool isTwoLooseInTime() const { return isTwoLooseInTime_; }
0047 bool isTwoLooseOutOfTime() const { return isTwoLooseOutOfTime_; }
0048 bool isOneLooseInTime() const { return isOneLooseInTime_; }
0049
0050
0051 const int link() const { return link_; };
0052
0053 const int processor() const { return processor_; };
0054
0055 const tftype trackFinderType() const { return trackFinder_; };
0056
0057 bool operator==(const l1t::RegionalMuonShower& rhs) const;
0058 inline bool operator!=(const l1t::RegionalMuonShower& rhs) const { return !(operator==(rhs)); };
0059
0060 private:
0061
0062
0063 bool isOneNominalInTime_;
0064 bool isOneNominalOutOfTime_;
0065 bool isOneTightInTime_;
0066 bool isOneTightOutOfTime_;
0067 bool isTwoLooseInTime_;
0068 bool isTwoLooseOutOfTime_;
0069 bool isOneLooseInTime_;
0070 int link_;
0071 int processor_;
0072 tftype trackFinder_;
0073 };
0074
0075 }
0076
0077 #endif