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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#ifndef DataFormats_L1Trigger_Jet_h
#define DataFormats_L1Trigger_Jet_h
#include "DataFormats/L1Trigger/interface/L1Candidate.h"
#include "DataFormats/L1Trigger/interface/BXVector.h"
#include "DataFormats/L1Trigger/interface/L1TObjComparison.h"
namespace l1t {
class Jet;
typedef BXVector<Jet> JetBxCollection;
typedef edm::Ref<JetBxCollection> JetRef;
typedef edm::RefVector<JetBxCollection> JetRefVector;
typedef std::vector<JetRef> JetVectorRef;
typedef ObjectRefBxCollection<Jet> JetRefBxCollection;
typedef ObjectRefPair<Jet> JetRefPair;
typedef ObjectRefPairBxCollection<Jet> JetRefPairBxCollection;
class Jet : public L1Candidate {
public:
Jet() { clear_extended(); }
Jet(const LorentzVector& p4, int pt = 0, int eta = 0, int phi = 0, int qual = 0);
Jet(const PolarLorentzVector& p4, int pt = 0, int eta = 0, int phi = 0, int qual = 0);
~Jet() override;
void setTowerIEta(short int ieta); // ieta of seed tower
void setTowerIPhi(short int iphi); // iphi of seed tower
void setRawEt(short int et); // raw (uncalibrated) cluster sum
void setSeedEt(short int et);
void setPUEt(short int et);
void setPUDonutEt(unsigned int i, short int et);
short int towerIEta() const;
short int towerIPhi() const;
short int rawEt() const;
short int seedEt() const;
short int puEt() const;
short int puDonutEt(int i) const;
bool operator==(const l1t::Jet& rhs) const;
inline bool operator!=(const l1t::Jet& rhs) const { return !(operator==(rhs)); };
private:
using L1Candidate::operator==;
using L1Candidate::operator!=;
// additional hardware quantities common to L1 global jet
void clear_extended();
short int towerIEta_;
short int towerIPhi_;
short int rawEt_;
short int seedEt_;
short int puEt_;
short int puDonutEt_[4];
};
} // namespace l1t
#endif
|