1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include "DataFormats/L1Trigger/interface/MuonShower.h"
l1t::MuonShower::MuonShower(bool oneNominalInTime,
bool oneNominalOutOfTime,
bool twoLooseInTime,
bool twoLooseOutOfTime,
bool oneTightInTime,
bool oneTightOutOfTime,
bool twoLooseDiffSectorsInTime)
: L1Candidate(math::PtEtaPhiMLorentzVector{0., 0., 0., 0.}, 0., 0., 0., 0, 0),
// in this object it makes more sense to the different shower types to
// the 4 bits, so that the object easily interfaces with the uGT emulator
oneNominalInTime_(oneNominalInTime),
oneTightInTime_(oneTightInTime),
twoLooseDiffSectorsInTime_(twoLooseDiffSectorsInTime),
musOutOfTime0_(false),
musOutOfTime1_(false) {}
l1t::MuonShower::~MuonShower() {}
bool l1t::MuonShower::isValid() const {
return oneNominalInTime_ or oneTightInTime_ or twoLooseDiffSectorsInTime_ or musOutOfTime0_ or musOutOfTime1_;
}
bool l1t::MuonShower::operator==(const l1t::MuonShower& rhs) const {
return (oneNominalInTime_ == rhs.isOneNominalInTime() and oneTightInTime_ == rhs.isOneTightInTime() and
musOutOfTime0_ == rhs.musOutOfTime0() and musOutOfTime1_ == rhs.musOutOfTime1() and
twoLooseDiffSectorsInTime_ == rhs.isTwoLooseDiffSectorsInTime());
}
|