ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/kbunkow/L1MuAnalysis/interface/L1MuAnalysisMuCandidates.h
Revision: 1.1
Committed: Fri Oct 12 16:59:41 2012 UTC (12 years, 6 months ago) by kbunkow
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Error occurred while calculating annotation data.
Log Message:
initiail commit

File Contents

# Content
1 #ifndef __L1MuAnalysis_MuCandidates_H__
2 #define __L1MuAnalysis_MuCandidates_H__
3 /*
4 * L1MuAnalysisMuCandidate.h
5 *
6 * Created on: May 25, 2012
7 * Author: Karol Bunkowski
8 */
9 #include "UserCode/L1TriggerDPG/interface/L1AnalysisGMTDataFormat.h"
10 #include "UserCode/kbunkow/L1MuAnalysis/interface/L1MuAnalysisIMuCandidate.h"
11 #include <boost/shared_ptr.hpp>
12 #include <vector>
13 #include <string>
14
15 namespace L1MuAnalysis
16 {
17
18 class MuCandidate: public IMuCandidate {
19 private:
20 int qual_;
21 float pt_;
22 int cha_;
23 float eta_;
24 float phi_;
25 MuConsts::Subsystem subsys_;
26 int fineEta_;
27
28 public:
29 MuCandidate() {
30 qual_ = -1;
31 pt_ = -1;
32 cha_ = -1;
33 eta_ = -1;
34 phi_ = -1;
35 subsys_ = MuConsts::GMT;
36 fineEta_ = -1;
37 };
38
39 virtual ~MuCandidate() {};
40
41 virtual int getQual() {
42 return qual_;
43 }
44
45 virtual float getPt() {
46 return pt_;
47 }
48
49 virtual int getCha() {
50 return cha_;
51 }
52
53 virtual float getEta() {
54 return eta_;
55 }
56
57 virtual float getPhi() {
58 return phi_;
59 }
60
61 virtual MuConsts::Subsystem getSubsys() {
62 return subsys_;
63 }
64
65 /**
66 * only for DT
67 * @param bx
68 * @param idx
69 * @return
70 */
71 virtual int getFineEta() {
72 return fineEta_;
73 }
74
75 virtual void setCha(int cha) {
76 this->cha_ = cha;
77 }
78
79 virtual void setEta(float eta){
80 this->eta_ = eta;
81 }
82
83 virtual void setPhi(float phi) {
84 this->phi_ = phi;
85 }
86
87 virtual void setPt(float pt) {
88 this->pt_ = pt;
89 }
90
91 virtual void setQual(int qual) {
92 this->qual_ = qual;
93 }
94
95 virtual void setSubsys(MuConsts::Subsystem subsys) {
96 subsys_ = subsys;
97 }
98
99 virtual void setFineEta(int fineEta){
100 this->fineEta_ = fineEta;
101 }
102
103 virtual std::string toString();
104
105 };
106
107
108 class GmtCandidate: public MuCandidate, IGmtCandidate {
109 private:
110 MuCandidatePtr dtCscCand_;
111 MuCandidatePtr rpcCand_;
112 public:
113 GmtCandidate() {};
114
115 virtual ~GmtCandidate() {};
116
117 virtual MuCandidatePtr getDtCsCcand() const {
118 return dtCscCand_;
119 }
120
121 virtual MuCandidatePtr getRpcCand() const {
122 return rpcCand_;
123 }
124
125 virtual void setDtCscCand(MuCandidatePtr dtCscCand) {
126 this->dtCscCand_ = dtCscCand;
127 }
128
129 virtual void setRpcCand(MuCandidatePtr rpcCand) {
130 this->rpcCand_ = rpcCand_;
131 }
132
133 };
134
135 class MuCandidates;
136 typedef std::vector<MuCandidates> MuCandidatesBxVec; //each row are MuCandidates in one BX
137
138 /**
139 * candidates of one BX
140 */
141 class MuCandidates {
142 public:
143 static const int bxOffset = 2;
144 static const int bxPerEvent = 5;
145 private:
146 std::vector<MuCandidateVec> muSubsysCandidates; //[subsys][cand]
147
148 public :
149 MuCandidates();
150
151 static MuCandidatesBxVec getMuCandidatesBxVec(L1Analysis::L1AnalysisGMTDataFormat* gmtData);
152
153 //static MuCandidates getMuCandidatesBxVec(L1AnalysisGMTDataFormat* gmtData, int bx);
154
155 static MuCandidates getMuCandidatesInL1ABx(L1Analysis::L1AnalysisGMTDataFormat* gmtData) {
156 return getMuCandidatesBxVec(gmtData)[MuCandidates::bxOffset];
157 //return getMuCandidatesBxVec(gmtData, MuCandidates::bxOffset);
158 }
159
160 };
161
162 }
163 #endif