CMS 3D CMS Logo

L1AnalysisCSCTFDataFormat.h
Go to the documentation of this file.
1 #ifndef __L1Analysis_L1AnalysisCSCTFDataFormat_H__
2 #define __L1Analysis_L1AnalysisCSCTFDataFormat_H__
3 
4 //-------------------------------------------------------------------------------
5 // Created 08/03/2010 - E. Conte, A.-C. Le Bihan
6 //
7 //
8 // Original code : L1Trigger/L1TNtuples/L1NtupleProducer - Gian Piero Di Giovanni
9 //-------------------------------------------------------------------------------
10 #include "TMatrixD.h"
11 #include <vector>
12 
13 namespace L1Analysis {
17 
18  static const int MAXCSCTFTR = 60;
19  static const int MAXCSCTFLCTSTR = 4;
20 
21  void Reset() {
22  trSize = 0;
23  trEndcap.clear();
24  trSector.clear();
25 
26  trBx.clear();
27 
28  // if set to 1 track has lct from the station
29  trME1ID.clear();
30  trME2ID.clear();
31  trME3ID.clear();
32  trME4ID.clear();
33  trMB1ID.clear();
34 
35  trME1TBin.clear();
36  trME2TBin.clear();
37  trME3TBin.clear();
38  trME4TBin.clear();
39  trMB1TBin.clear();
40 
41  trOutputLink.clear();
42 
43  // some input of the PT LUTs
44  trCharge.clear();
45  trChargeValid.clear();
46  trForR.clear();
47  trPhi23.clear();
48  trPhi12.clear();
49  trPhiSign.clear();
50 
51  // in bits...
52  trEtaBit.clear();
53  trPhiBit.clear();
54  trPtBit.clear();
55 
56  // ... converted
57  trEta.clear();
58  trPhi.clear();
59  trPhi_02PI.clear();
60  trPt.clear();
61 
62  // + useful information
63  trMode.clear();
64  trQuality.clear();
65 
66  //----------------------------------------------------------------------
67  // LCT (STUBS FORMING THE TRACK)
68  //----------------------------------------------------------------------
69  trNumLCTs.clear();
70 
71  trLctEndcap.Clear();
72  trLctSector.Clear();
73  trLctSubSector.Clear();
74  trLctBx.Clear();
75  trLctBx0.Clear();
76 
77  trLctStation.Clear();
78  trLctRing.Clear();
79  trLctChamber.Clear();
80  trLctTriggerCSCID.Clear();
81  trLctFpga.Clear();
82 
83  trLctlocalPhi.Clear();
84  //trLctlocalPhi_bend.Clear();
85  trLctCLCT_pattern.Clear();
86  trLctQuality.Clear();
87  trLctglobalPhi.Clear();
88  trLctglobalEta.Clear();
89 
90  trLctstripNum.Clear();
91  trLctwireGroup.Clear();
92 
93  trLctEndcap.Clear();
94  trLctSector.Clear();
95  trLctSubSector.Clear();
96  trLctBx.Clear();
97  trLctBx0.Clear();
98 
99  trLctStation.Clear();
100  trLctRing.Clear();
101  trLctChamber.Clear();
102  trLctTriggerCSCID.Clear();
103  trLctFpga.Clear();
104 
105  trLctlocalPhi.Clear();
106  //trLctlocalPhi_bend.Clear();
107  trLctCLCT_pattern.Clear();
108  trLctQuality.Clear();
109  trLctglobalPhi.Clear();
110  trLctglobalEta.Clear();
111 
112  trLctstripNum.Clear();
113  trLctwireGroup.Clear();
114 
115  //---------------------
116 
120  trLctBx.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
122 
128 
130  //trLctlocalPhi_bend.ResizeTo(MAXCSCTFTR,MAXCSCTFLCTSTR);
135 
138 
139  //----------------------------------------------------------------------
140  // ALL LCT
141  //----------------------------------------------------------------------
142  lctSize = 0;
143  lctEndcap.clear();
144  lctSector.clear();
145  lctSubSector.clear();
146  lctBx.clear();
147  lctBx0.clear();
148 
149  lctStation.clear();
150  lctRing.clear();
151  lctChamber.clear();
152  lctTriggerCSCID.clear();
153  lctFpga.clear();
154 
155  // note: the SPs return them in bits
156  lctlocalPhi.clear();
157  //lctlocalPhi_bend.clear();
158  lctCLCT_pattern.clear();
159  lctQuality.clear();
160  lctglobalPhi.clear();
161  lctglobalEta.clear();
162 
163  lctstripNum.clear();
164  lctwireGroup.clear();
165 
166  //---------------------------------------------------------------------------
167  // BASIC CSCTF information
168  //---------------------------------------------------------------------------
169  nsp = 0; // num of SPs active in the event
170  stSPslot.clear();
171  stL1A_BXN.clear();
172  stTrkCounter.clear();
173  stOrbCounter.clear();
174 
175  dtSize = 0;
176  dtCAL.clear();
177  dtFLAG.clear();
178  dtBXN.clear();
179  dtSector.clear();
180  dtSubSector.clear();
181  dtBX0.clear();
182  dtPhiBend.clear();
183  dtQuality.clear();
184  dtPhiPacked.clear();
185  }
186 
187  //----------------------------------------------------------------------
188  // TRACKS
189  //----------------------------------------------------------------------
190  // csctf track candidates
191  int trSize;
192  std::vector<int> trEndcap;
193  std::vector<int> trSector;
194 
195  std::vector<int> trBx;
196 
197  // if set to 1 track has lct from the station
198  std::vector<int> trME1ID;
199  std::vector<int> trME2ID;
200  std::vector<int> trME3ID;
201  std::vector<int> trME4ID;
202  std::vector<int> trMB1ID;
203 
204  std::vector<int> trME1TBin;
205  std::vector<int> trME2TBin;
206  std::vector<int> trME3TBin;
207  std::vector<int> trME4TBin;
208  std::vector<int> trMB1TBin;
209 
210  std::vector<int> trOutputLink;
211 
212  // some input of the PT LUTs
213  std::vector<int> trCharge;
214  std::vector<int> trChargeValid;
215  std::vector<int> trForR;
216  std::vector<int> trPhi23;
217  std::vector<int> trPhi12;
218  std::vector<int> trPhiSign;
219 
220  // in bits...
221  std::vector<int> trEtaBit;
222  std::vector<int> trPhiBit;
223  std::vector<int> trPtBit;
224 
225  // ... converted
226  std::vector<float> trEta;
227  std::vector<float> trPhi;
228  std::vector<float> trPhi_02PI;
229  std::vector<float> trPt;
230 
231  // + useful information
232  std::vector<int> trMode;
233  std::vector<int> trQuality;
234 
235  //----------------------------------------------------------------------
236  // LCT (STUBS FORMING THE TRACK)
237  //----------------------------------------------------------------------
238  std::vector<int> trNumLCTs; // it contains the number of LCT forming a track
239 
240  TMatrixD trLctEndcap;
241  TMatrixD trLctSector;
242  TMatrixD trLctSubSector;
243  TMatrixD trLctBx;
244  TMatrixD trLctBx0;
245 
246  TMatrixD trLctStation;
247  TMatrixD trLctRing;
248  TMatrixD trLctChamber;
250  TMatrixD trLctFpga;
251 
252  // note: the SPs return them in bits
253  TMatrixD trLctlocalPhi;
254  //TMatrixD trLctlocalPhi_bend;
256  TMatrixD trLctQuality;
257  TMatrixD trLctglobalPhi;
258  TMatrixD trLctglobalEta;
259 
260  TMatrixD trLctstripNum;
261  TMatrixD trLctwireGroup;
262 
263  //----------------------------------------------------------------------
264  // ALL LCT
265  //----------------------------------------------------------------------
266  int lctSize;
267  std::vector<int> lctEndcap;
268  std::vector<int> lctSector;
269 
270  std::vector<int> lctSubSector;
271  std::vector<int> lctBx;
272  std::vector<int> lctBx0;
273  std::vector<int> lctStation;
274  std::vector<int> lctRing;
275  std::vector<int> lctChamber;
276  std::vector<int> lctTriggerCSCID;
277  std::vector<int> lctFpga;
278 
279  // note: the SPs return them in bits
280  std::vector<int> lctlocalPhi;
281  //std::vector<int> lctlocalPhi_bend;
282  std::vector<int> lctCLCT_pattern;
283  std::vector<int> lctQuality;
284  std::vector<int> lctglobalPhi;
285  std::vector<int> lctglobalEta;
286  std::vector<int> lctstripNum;
287  std::vector<int> lctwireGroup;
288 
289  //---------------------------------------------------------------------------
290  // BASIC CSCTF information
291  //---------------------------------------------------------------------------
292  int nsp; // num of SPs active in the event
293  std::vector<int> stSPslot;
294  std::vector<int> stL1A_BXN;
295  std::vector<unsigned long int> stTrkCounter;
296  std::vector<unsigned long int> stOrbCounter;
297 
298  //DT Stub Information
299  int dtSize;
300  std::vector<int> dtCAL;
301  std::vector<int> dtFLAG;
302  std::vector<int> dtBXN;
303  std::vector<int> dtSector;
304  std::vector<int> dtSubSector;
305  std::vector<int> dtBX0;
306  std::vector<int> dtPhiBend;
307  std::vector<int> dtQuality;
308  std::vector<int> dtPhiPacked;
309  };
310 } // namespace L1Analysis
311 #endif
L1Analysis::L1AnalysisCSCTFDataFormat::dtSize
int dtSize
Definition: L1AnalysisCSCTFDataFormat.h:299
L1Analysis::L1AnalysisCSCTFDataFormat::trLctwireGroup
TMatrixD trLctwireGroup
Definition: L1AnalysisCSCTFDataFormat.h:261
L1Analysis::L1AnalysisCSCTFDataFormat::lctBx
std::vector< int > lctBx
Definition: L1AnalysisCSCTFDataFormat.h:271
L1Analysis::L1AnalysisCSCTFDataFormat::trPhi
std::vector< float > trPhi
Definition: L1AnalysisCSCTFDataFormat.h:227
L1Analysis::L1AnalysisCSCTFDataFormat::trEndcap
std::vector< int > trEndcap
Definition: L1AnalysisCSCTFDataFormat.h:192
L1Analysis::L1AnalysisCSCTFDataFormat::trEtaBit
std::vector< int > trEtaBit
Definition: L1AnalysisCSCTFDataFormat.h:221
L1Analysis::L1AnalysisCSCTFDataFormat::lctlocalPhi
std::vector< int > lctlocalPhi
Definition: L1AnalysisCSCTFDataFormat.h:280
L1Analysis::L1AnalysisCSCTFDataFormat::lctglobalEta
std::vector< int > lctglobalEta
Definition: L1AnalysisCSCTFDataFormat.h:285
L1Analysis::L1AnalysisCSCTFDataFormat::trMode
std::vector< int > trMode
Definition: L1AnalysisCSCTFDataFormat.h:232
L1Analysis::L1AnalysisCSCTFDataFormat::trME2ID
std::vector< int > trME2ID
Definition: L1AnalysisCSCTFDataFormat.h:199
L1Analysis::L1AnalysisCSCTFDataFormat::trChargeValid
std::vector< int > trChargeValid
Definition: L1AnalysisCSCTFDataFormat.h:214
L1Analysis::L1AnalysisCSCTFDataFormat
Definition: L1AnalysisCSCTFDataFormat.h:14
L1Analysis::L1AnalysisCSCTFDataFormat::dtSubSector
std::vector< int > dtSubSector
Definition: L1AnalysisCSCTFDataFormat.h:304
L1Analysis::L1AnalysisCSCTFDataFormat::L1AnalysisCSCTFDataFormat
L1AnalysisCSCTFDataFormat()
Definition: L1AnalysisCSCTFDataFormat.h:15
L1Analysis::L1AnalysisCSCTFDataFormat::lctBx0
std::vector< int > lctBx0
Definition: L1AnalysisCSCTFDataFormat.h:272
L1Analysis::L1AnalysisCSCTFDataFormat::trLctTriggerCSCID
TMatrixD trLctTriggerCSCID
Definition: L1AnalysisCSCTFDataFormat.h:249
L1Analysis::L1AnalysisCSCTFDataFormat::trME2TBin
std::vector< int > trME2TBin
Definition: L1AnalysisCSCTFDataFormat.h:205
L1Analysis::L1AnalysisCSCTFDataFormat::lctglobalPhi
std::vector< int > lctglobalPhi
Definition: L1AnalysisCSCTFDataFormat.h:284
L1Analysis::L1AnalysisCSCTFDataFormat::trLctQuality
TMatrixD trLctQuality
Definition: L1AnalysisCSCTFDataFormat.h:256
L1Analysis::L1AnalysisCSCTFDataFormat::lctQuality
std::vector< int > lctQuality
Definition: L1AnalysisCSCTFDataFormat.h:283
L1Analysis::L1AnalysisCSCTFDataFormat::trME4TBin
std::vector< int > trME4TBin
Definition: L1AnalysisCSCTFDataFormat.h:207
L1Analysis::L1AnalysisCSCTFDataFormat::lctEndcap
std::vector< int > lctEndcap
Definition: L1AnalysisCSCTFDataFormat.h:267
L1Analysis::L1AnalysisCSCTFDataFormat::trCharge
std::vector< int > trCharge
Definition: L1AnalysisCSCTFDataFormat.h:213
L1Analysis::L1AnalysisCSCTFDataFormat::stTrkCounter
std::vector< unsigned long int > stTrkCounter
Definition: L1AnalysisCSCTFDataFormat.h:295
L1Analysis::L1AnalysisCSCTFDataFormat::dtBX0
std::vector< int > dtBX0
Definition: L1AnalysisCSCTFDataFormat.h:305
L1Analysis::L1AnalysisCSCTFDataFormat::trME1ID
std::vector< int > trME1ID
Definition: L1AnalysisCSCTFDataFormat.h:198
L1Analysis::L1AnalysisCSCTFDataFormat::trLctChamber
TMatrixD trLctChamber
Definition: L1AnalysisCSCTFDataFormat.h:248
L1Analysis::L1AnalysisCSCTFDataFormat::trME3TBin
std::vector< int > trME3TBin
Definition: L1AnalysisCSCTFDataFormat.h:206
L1Analysis::L1AnalysisCSCTFDataFormat::dtSector
std::vector< int > dtSector
Definition: L1AnalysisCSCTFDataFormat.h:303
L1Analysis::L1AnalysisCSCTFDataFormat::trQuality
std::vector< int > trQuality
Definition: L1AnalysisCSCTFDataFormat.h:233
L1Analysis::L1AnalysisCSCTFDataFormat::trLctStation
TMatrixD trLctStation
Definition: L1AnalysisCSCTFDataFormat.h:246
L1Analysis
Definition: L1AnalysisBMTFInputs.h:18
L1Analysis::L1AnalysisCSCTFDataFormat::trLctEndcap
TMatrixD trLctEndcap
Definition: L1AnalysisCSCTFDataFormat.h:240
L1Analysis::L1AnalysisCSCTFDataFormat::trPt
std::vector< float > trPt
Definition: L1AnalysisCSCTFDataFormat.h:229
L1Analysis::L1AnalysisCSCTFDataFormat::trME4ID
std::vector< int > trME4ID
Definition: L1AnalysisCSCTFDataFormat.h:201
L1Analysis::L1AnalysisCSCTFDataFormat::trBx
std::vector< int > trBx
Definition: L1AnalysisCSCTFDataFormat.h:195
L1Analysis::L1AnalysisCSCTFDataFormat::stOrbCounter
std::vector< unsigned long int > stOrbCounter
Definition: L1AnalysisCSCTFDataFormat.h:296
L1Analysis::L1AnalysisCSCTFDataFormat::lctStation
std::vector< int > lctStation
Definition: L1AnalysisCSCTFDataFormat.h:273
L1Analysis::L1AnalysisCSCTFDataFormat::trLctlocalPhi
TMatrixD trLctlocalPhi
Definition: L1AnalysisCSCTFDataFormat.h:253
L1Analysis::L1AnalysisCSCTFDataFormat::MAXCSCTFLCTSTR
static const int MAXCSCTFLCTSTR
Definition: L1AnalysisCSCTFDataFormat.h:19
L1Analysis::L1AnalysisCSCTFDataFormat::Reset
void Reset()
Definition: L1AnalysisCSCTFDataFormat.h:21
L1Analysis::L1AnalysisCSCTFDataFormat::trLctSubSector
TMatrixD trLctSubSector
Definition: L1AnalysisCSCTFDataFormat.h:242
L1Analysis::L1AnalysisCSCTFDataFormat::lctCLCT_pattern
std::vector< int > lctCLCT_pattern
Definition: L1AnalysisCSCTFDataFormat.h:282
L1Analysis::L1AnalysisCSCTFDataFormat::trLctglobalPhi
TMatrixD trLctglobalPhi
Definition: L1AnalysisCSCTFDataFormat.h:257
L1Analysis::L1AnalysisCSCTFDataFormat::trLctFpga
TMatrixD trLctFpga
Definition: L1AnalysisCSCTFDataFormat.h:250
L1Analysis::L1AnalysisCSCTFDataFormat::trPhi23
std::vector< int > trPhi23
Definition: L1AnalysisCSCTFDataFormat.h:216
L1Analysis::L1AnalysisCSCTFDataFormat::trPhiBit
std::vector< int > trPhiBit
Definition: L1AnalysisCSCTFDataFormat.h:222
L1Analysis::L1AnalysisCSCTFDataFormat::trME3ID
std::vector< int > trME3ID
Definition: L1AnalysisCSCTFDataFormat.h:200
L1Analysis::L1AnalysisCSCTFDataFormat::trLctglobalEta
TMatrixD trLctglobalEta
Definition: L1AnalysisCSCTFDataFormat.h:258
L1Analysis::L1AnalysisCSCTFDataFormat::trMB1TBin
std::vector< int > trMB1TBin
Definition: L1AnalysisCSCTFDataFormat.h:208
L1Analysis::L1AnalysisCSCTFDataFormat::lctFpga
std::vector< int > lctFpga
Definition: L1AnalysisCSCTFDataFormat.h:277
L1Analysis::L1AnalysisCSCTFDataFormat::trOutputLink
std::vector< int > trOutputLink
Definition: L1AnalysisCSCTFDataFormat.h:210
L1Analysis::L1AnalysisCSCTFDataFormat::trEta
std::vector< float > trEta
Definition: L1AnalysisCSCTFDataFormat.h:226
L1Analysis::L1AnalysisCSCTFDataFormat::lctSector
std::vector< int > lctSector
Definition: L1AnalysisCSCTFDataFormat.h:268
L1Analysis::L1AnalysisCSCTFDataFormat::lctSubSector
std::vector< int > lctSubSector
Definition: L1AnalysisCSCTFDataFormat.h:270
L1Analysis::L1AnalysisCSCTFDataFormat::lctSize
int lctSize
Definition: L1AnalysisCSCTFDataFormat.h:266
L1Analysis::L1AnalysisCSCTFDataFormat::trPhi_02PI
std::vector< float > trPhi_02PI
Definition: L1AnalysisCSCTFDataFormat.h:228
L1Analysis::L1AnalysisCSCTFDataFormat::trLctSector
TMatrixD trLctSector
Definition: L1AnalysisCSCTFDataFormat.h:241
L1Analysis::L1AnalysisCSCTFDataFormat::trMB1ID
std::vector< int > trMB1ID
Definition: L1AnalysisCSCTFDataFormat.h:202
L1Analysis::L1AnalysisCSCTFDataFormat::lctChamber
std::vector< int > lctChamber
Definition: L1AnalysisCSCTFDataFormat.h:275
L1Analysis::L1AnalysisCSCTFDataFormat::trPhi12
std::vector< int > trPhi12
Definition: L1AnalysisCSCTFDataFormat.h:217
L1Analysis::L1AnalysisCSCTFDataFormat::trLctBx0
TMatrixD trLctBx0
Definition: L1AnalysisCSCTFDataFormat.h:244
L1Analysis::L1AnalysisCSCTFDataFormat::dtPhiPacked
std::vector< int > dtPhiPacked
Definition: L1AnalysisCSCTFDataFormat.h:308
L1Analysis::L1AnalysisCSCTFDataFormat::dtFLAG
std::vector< int > dtFLAG
Definition: L1AnalysisCSCTFDataFormat.h:301
L1Analysis::L1AnalysisCSCTFDataFormat::trLctstripNum
TMatrixD trLctstripNum
Definition: L1AnalysisCSCTFDataFormat.h:260
L1Analysis::L1AnalysisCSCTFDataFormat::dtBXN
std::vector< int > dtBXN
Definition: L1AnalysisCSCTFDataFormat.h:302
L1Analysis::L1AnalysisCSCTFDataFormat::dtCAL
std::vector< int > dtCAL
Definition: L1AnalysisCSCTFDataFormat.h:300
L1Analysis::L1AnalysisCSCTFDataFormat::trNumLCTs
std::vector< int > trNumLCTs
Definition: L1AnalysisCSCTFDataFormat.h:238
L1Analysis::L1AnalysisCSCTFDataFormat::trLctCLCT_pattern
TMatrixD trLctCLCT_pattern
Definition: L1AnalysisCSCTFDataFormat.h:255
L1Analysis::L1AnalysisCSCTFDataFormat::lctstripNum
std::vector< int > lctstripNum
Definition: L1AnalysisCSCTFDataFormat.h:286
L1Analysis::L1AnalysisCSCTFDataFormat::trPhiSign
std::vector< int > trPhiSign
Definition: L1AnalysisCSCTFDataFormat.h:218
L1Analysis::L1AnalysisCSCTFDataFormat::lctTriggerCSCID
std::vector< int > lctTriggerCSCID
Definition: L1AnalysisCSCTFDataFormat.h:276
L1Analysis::L1AnalysisCSCTFDataFormat::stSPslot
std::vector< int > stSPslot
Definition: L1AnalysisCSCTFDataFormat.h:293
L1Analysis::L1AnalysisCSCTFDataFormat::MAXCSCTFTR
static const int MAXCSCTFTR
Definition: L1AnalysisCSCTFDataFormat.h:18
L1Analysis::L1AnalysisCSCTFDataFormat::dtPhiBend
std::vector< int > dtPhiBend
Definition: L1AnalysisCSCTFDataFormat.h:306
L1Analysis::L1AnalysisCSCTFDataFormat::lctRing
std::vector< int > lctRing
Definition: L1AnalysisCSCTFDataFormat.h:274
L1Analysis::L1AnalysisCSCTFDataFormat::trLctRing
TMatrixD trLctRing
Definition: L1AnalysisCSCTFDataFormat.h:247
L1Analysis::L1AnalysisCSCTFDataFormat::lctwireGroup
std::vector< int > lctwireGroup
Definition: L1AnalysisCSCTFDataFormat.h:287
L1Analysis::L1AnalysisCSCTFDataFormat::trME1TBin
std::vector< int > trME1TBin
Definition: L1AnalysisCSCTFDataFormat.h:204
L1Analysis::L1AnalysisCSCTFDataFormat::dtQuality
std::vector< int > dtQuality
Definition: L1AnalysisCSCTFDataFormat.h:307
L1Analysis::L1AnalysisCSCTFDataFormat::trPtBit
std::vector< int > trPtBit
Definition: L1AnalysisCSCTFDataFormat.h:223
L1Analysis::L1AnalysisCSCTFDataFormat::trForR
std::vector< int > trForR
Definition: L1AnalysisCSCTFDataFormat.h:215
L1Analysis::L1AnalysisCSCTFDataFormat::nsp
int nsp
Definition: L1AnalysisCSCTFDataFormat.h:292
L1Analysis::L1AnalysisCSCTFDataFormat::trSize
int trSize
Definition: L1AnalysisCSCTFDataFormat.h:191
L1Analysis::L1AnalysisCSCTFDataFormat::~L1AnalysisCSCTFDataFormat
~L1AnalysisCSCTFDataFormat()
Definition: L1AnalysisCSCTFDataFormat.h:16
L1Analysis::L1AnalysisCSCTFDataFormat::stL1A_BXN
std::vector< int > stL1A_BXN
Definition: L1AnalysisCSCTFDataFormat.h:294
L1Analysis::L1AnalysisCSCTFDataFormat::trSector
std::vector< int > trSector
Definition: L1AnalysisCSCTFDataFormat.h:193
L1Analysis::L1AnalysisCSCTFDataFormat::trLctBx
TMatrixD trLctBx
Definition: L1AnalysisCSCTFDataFormat.h:243