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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
#ifndef L1Trigger_L1MuonParticle_h
#define L1Trigger_L1MuonParticle_h
// -*- C++ -*-
//
// Package: L1Trigger
// Class : L1MuonParticle
//
/**\class L1MuonParticle \file L1MuonParticle.h DataFormats/L1Trigger/interface/L1MuonParticle.h \author Werner Sun
Description: L1Extra particle class for muon objects.
*/
//
// Original Author: Werner Sun
// Created: Sat Jul 15 12:41:07 EDT 2006
//
// system include files
// user include files
#include "DataFormats/Candidate/interface/LeafCandidate.h"
#include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTExtendedCand.h"
// forward declarations
namespace l1extra {
class L1MuonParticle : public reco::LeafCandidate {
public:
L1MuonParticle();
// Eventually, all L1MuGMTCands will be L1MuGMTExtendedCands,
// as soon as dictionaries for them exist in
// L1Trigger/GlobalMuonTrigger.
L1MuonParticle(Charge q, const LorentzVector& p4, const L1MuGMTExtendedCand& aCand, int bx = 0);
L1MuonParticle(Charge q, const PolarLorentzVector& p4, const L1MuGMTExtendedCand& aCand, int bx = 0);
// Creates null Ref.
L1MuonParticle(Charge q,
const LorentzVector& p4,
bool isolated = false,
bool mip = false,
bool forward = false,
bool rpc = false,
unsigned int detector = 0,
int bx = 0);
L1MuonParticle(Charge q,
const PolarLorentzVector& p4,
bool isolated = false,
bool mip = false,
bool forward = false,
bool rpc = false,
unsigned int detector = 0,
int bx = 0);
~L1MuonParticle() override {}
// ---------- const member functions ---------------------
bool isIsolated() const { return isolated_; }
bool isMip() const { return mip_; }
bool isForward() const { return forward_; }
bool isRPC() const { return rpc_; }
const L1MuGMTExtendedCand& gmtMuonCand() const { return cand_; }
L1MuonParticle* clone() const override { return new L1MuonParticle(*this); }
int bx() const { return bx_; }
// ---------- static member functions --------------------
// ---------- member functions ---------------------------
void setIsolated(bool isIso) { isolated_ = isIso; }
void setMip(bool isMip) { mip_ = isMip; }
void setForward(bool isForward) { forward_ = isForward; }
void setRPC(bool isRPC) { rpc_ = isRPC; }
void setBx(int bx) { bx_ = bx; }
private:
// L1MuonParticle(const L1MuonParticle&); // stop default
// const L1MuonParticle& operator=(const L1MuonParticle&); // stop default
// ---------- member data --------------------------------
bool isolated_;
bool mip_;
bool forward_;
bool rpc_;
L1MuGMTExtendedCand cand_;
int bx_;
};
} // namespace l1extra
#endif
|