Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:34

0001 #include "DataFormats/L1TMuon/interface/RegionalMuonShower.h"
0002 
0003 l1t::RegionalMuonShower::RegionalMuonShower(bool oneNominalInTime,
0004                                             bool oneNominalOutOfTime,
0005                                             bool twoLooseInTime,
0006                                             bool twoLooseOutOfTime,
0007                                             bool oneLooseInTime,
0008                                             bool oneTightInTime,
0009                                             bool oneTightOutOfTime)
0010     : isOneNominalInTime_(oneNominalInTime),
0011       isOneNominalOutOfTime_(oneNominalOutOfTime),
0012       isOneTightInTime_(oneTightInTime),
0013       isOneTightOutOfTime_(oneTightOutOfTime),
0014       isTwoLooseInTime_(twoLooseInTime),
0015       isTwoLooseOutOfTime_(twoLooseOutOfTime),
0016       isOneLooseInTime_(oneLooseInTime),
0017       link_(0),
0018       processor_(0),
0019       trackFinder_(l1t::tftype::bmtf) {}
0020 
0021 l1t::RegionalMuonShower::~RegionalMuonShower() {}
0022 
0023 void l1t::RegionalMuonShower::setTFIdentifiers(int processor, tftype trackFinder) {
0024   trackFinder_ = trackFinder;
0025   processor_ = processor;
0026 
0027   switch (trackFinder_) {
0028     case tftype::emtf_pos:
0029       link_ = processor_ + 36;  // range 36...41
0030       break;
0031     case tftype::omtf_pos:
0032       link_ = processor_ + 42;  // range 42...47
0033       break;
0034     case tftype::bmtf:
0035       link_ = processor_ + 48;  // range 48...59
0036       break;
0037     case tftype::omtf_neg:
0038       link_ = processor_ + 60;  // range 60...65
0039       break;
0040     case tftype::emtf_neg:
0041       link_ = processor_ + 66;  // range 66...71
0042   }
0043 }
0044 
0045 bool l1t::RegionalMuonShower::isValid() const {
0046   return (isOneNominalInTime_ or isTwoLooseInTime_ or isOneTightInTime_ or isOneLooseInTime_);
0047 }
0048 
0049 bool l1t::RegionalMuonShower::operator==(const l1t::RegionalMuonShower& rhs) const {
0050   return (isTwoLooseInTime_ == rhs.isTwoLooseInTime() and isOneNominalInTime_ == rhs.isOneNominalInTime() and
0051           isOneTightInTime_ == rhs.isOneTightInTime() and isOneLooseInTime_ == rhs.isOneLooseInTime());
0052 }