File indexing completed on 2024-09-07 04:37:00
0001 #ifndef __L1Analysis_L1AnalysisCSCTFDataFormat_H__
0002 #define __L1Analysis_L1AnalysisCSCTFDataFormat_H__
0003
0004
0005
0006
0007
0008
0009
0010 #include "TMatrixD.h"
0011 #include <vector>
0012
0013 namespace L1Analysis {
0014 struct L1AnalysisCSCTFDataFormat {
0015 L1AnalysisCSCTFDataFormat() { Reset(); };
0016 ~L1AnalysisCSCTFDataFormat() {}
0017
0018 static const int MAXCSCTFTR = 60;
0019 static const int MAXCSCTFLCTSTR = 4;
0020
0021 void Reset() {
0022 trSize = 0;
0023 trEndcap.clear();
0024 trSector.clear();
0025
0026 trBx.clear();
0027
0028
0029 trME1ID.clear();
0030 trME2ID.clear();
0031 trME3ID.clear();
0032 trME4ID.clear();
0033 trMB1ID.clear();
0034
0035 trME1TBin.clear();
0036 trME2TBin.clear();
0037 trME3TBin.clear();
0038 trME4TBin.clear();
0039 trMB1TBin.clear();
0040
0041 trOutputLink.clear();
0042
0043
0044 trCharge.clear();
0045 trChargeValid.clear();
0046 trForR.clear();
0047 trPhi23.clear();
0048 trPhi12.clear();
0049 trPhiSign.clear();
0050
0051
0052 trEtaBit.clear();
0053 trPhiBit.clear();
0054 trPtBit.clear();
0055
0056
0057 trEta.clear();
0058 trPhi.clear();
0059 trPhi_02PI.clear();
0060 trPt.clear();
0061
0062
0063 trMode.clear();
0064 trQuality.clear();
0065
0066
0067
0068
0069 trNumLCTs.clear();
0070
0071 trLctEndcap.Clear();
0072 trLctSector.Clear();
0073 trLctSubSector.Clear();
0074 trLctBx.Clear();
0075 trLctBx0.Clear();
0076
0077 trLctStation.Clear();
0078 trLctRing.Clear();
0079 trLctChamber.Clear();
0080 trLctTriggerCSCID.Clear();
0081 trLctFpga.Clear();
0082
0083 trLctlocalPhi.Clear();
0084
0085 trLctCLCT_pattern.Clear();
0086 trLctQuality.Clear();
0087 trLctglobalPhi.Clear();
0088 trLctglobalEta.Clear();
0089
0090 trLctstripNum.Clear();
0091 trLctwireGroup.Clear();
0092
0093 trLctEndcap.Clear();
0094 trLctSector.Clear();
0095 trLctSubSector.Clear();
0096 trLctBx.Clear();
0097 trLctBx0.Clear();
0098
0099 trLctStation.Clear();
0100 trLctRing.Clear();
0101 trLctChamber.Clear();
0102 trLctTriggerCSCID.Clear();
0103 trLctFpga.Clear();
0104
0105 trLctlocalPhi.Clear();
0106
0107 trLctCLCT_pattern.Clear();
0108 trLctQuality.Clear();
0109 trLctglobalPhi.Clear();
0110 trLctglobalEta.Clear();
0111
0112 trLctstripNum.Clear();
0113 trLctwireGroup.Clear();
0114
0115
0116
0117 trLctEndcap.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0118 trLctSector.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0119 trLctSubSector.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0120 trLctBx.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0121 trLctBx0.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0122
0123 trLctStation.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0124 trLctRing.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0125 trLctChamber.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0126 trLctTriggerCSCID.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0127 trLctFpga.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0128
0129 trLctlocalPhi.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0130
0131 trLctCLCT_pattern.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0132 trLctQuality.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0133 trLctglobalPhi.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0134 trLctglobalEta.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0135
0136 trLctstripNum.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0137 trLctwireGroup.ResizeTo(MAXCSCTFTR, MAXCSCTFLCTSTR);
0138
0139
0140
0141
0142 lctSize = 0;
0143 lctEndcap.clear();
0144 lctSector.clear();
0145 lctSubSector.clear();
0146 lctBx.clear();
0147 lctBx0.clear();
0148
0149 lctStation.clear();
0150 lctRing.clear();
0151 lctChamber.clear();
0152 lctTriggerCSCID.clear();
0153 lctFpga.clear();
0154
0155
0156 lctlocalPhi.clear();
0157
0158 lctCLCT_pattern.clear();
0159 lctQuality.clear();
0160 lctglobalPhi.clear();
0161 lctglobalEta.clear();
0162
0163 lctstripNum.clear();
0164 lctwireGroup.clear();
0165
0166
0167
0168
0169 nsp = 0;
0170 stSPslot.clear();
0171 stL1A_BXN.clear();
0172 stTrkCounter.clear();
0173 stOrbCounter.clear();
0174
0175 dtSize = 0;
0176 dtCAL.clear();
0177 dtFLAG.clear();
0178 dtBXN.clear();
0179 dtSector.clear();
0180 dtSubSector.clear();
0181 dtBX0.clear();
0182 dtPhiBend.clear();
0183 dtQuality.clear();
0184 dtPhiPacked.clear();
0185 }
0186
0187
0188
0189
0190
0191 int trSize;
0192 std::vector<int> trEndcap;
0193 std::vector<int> trSector;
0194
0195 std::vector<int> trBx;
0196
0197
0198 std::vector<int> trME1ID;
0199 std::vector<int> trME2ID;
0200 std::vector<int> trME3ID;
0201 std::vector<int> trME4ID;
0202 std::vector<int> trMB1ID;
0203
0204 std::vector<int> trME1TBin;
0205 std::vector<int> trME2TBin;
0206 std::vector<int> trME3TBin;
0207 std::vector<int> trME4TBin;
0208 std::vector<int> trMB1TBin;
0209
0210 std::vector<int> trOutputLink;
0211
0212
0213 std::vector<int> trCharge;
0214 std::vector<int> trChargeValid;
0215 std::vector<int> trForR;
0216 std::vector<int> trPhi23;
0217 std::vector<int> trPhi12;
0218 std::vector<int> trPhiSign;
0219
0220
0221 std::vector<int> trEtaBit;
0222 std::vector<int> trPhiBit;
0223 std::vector<int> trPtBit;
0224
0225
0226 std::vector<float> trEta;
0227 std::vector<float> trPhi;
0228 std::vector<float> trPhi_02PI;
0229 std::vector<float> trPt;
0230
0231
0232 std::vector<int> trMode;
0233 std::vector<int> trQuality;
0234
0235
0236
0237
0238 std::vector<int> trNumLCTs;
0239
0240 TMatrixD trLctEndcap;
0241 TMatrixD trLctSector;
0242 TMatrixD trLctSubSector;
0243 TMatrixD trLctBx;
0244 TMatrixD trLctBx0;
0245
0246 TMatrixD trLctStation;
0247 TMatrixD trLctRing;
0248 TMatrixD trLctChamber;
0249 TMatrixD trLctTriggerCSCID;
0250 TMatrixD trLctFpga;
0251
0252
0253 TMatrixD trLctlocalPhi;
0254
0255 TMatrixD trLctCLCT_pattern;
0256 TMatrixD trLctQuality;
0257 TMatrixD trLctglobalPhi;
0258 TMatrixD trLctglobalEta;
0259
0260 TMatrixD trLctstripNum;
0261 TMatrixD trLctwireGroup;
0262
0263
0264
0265
0266 int lctSize;
0267 std::vector<int> lctEndcap;
0268 std::vector<int> lctSector;
0269
0270 std::vector<int> lctSubSector;
0271 std::vector<int> lctBx;
0272 std::vector<int> lctBx0;
0273 std::vector<int> lctStation;
0274 std::vector<int> lctRing;
0275 std::vector<int> lctChamber;
0276 std::vector<int> lctTriggerCSCID;
0277 std::vector<int> lctFpga;
0278
0279
0280 std::vector<int> lctlocalPhi;
0281
0282 std::vector<int> lctCLCT_pattern;
0283 std::vector<int> lctQuality;
0284 std::vector<int> lctglobalPhi;
0285 std::vector<int> lctglobalEta;
0286 std::vector<int> lctstripNum;
0287 std::vector<int> lctwireGroup;
0288
0289
0290
0291
0292 int nsp;
0293 std::vector<int> stSPslot;
0294 std::vector<int> stL1A_BXN;
0295 std::vector<unsigned long int> stTrkCounter;
0296 std::vector<unsigned long int> stOrbCounter;
0297
0298
0299 int dtSize;
0300 std::vector<int> dtCAL;
0301 std::vector<int> dtFLAG;
0302 std::vector<int> dtBXN;
0303 std::vector<int> dtSector;
0304 std::vector<int> dtSubSector;
0305 std::vector<int> dtBX0;
0306 std::vector<int> dtPhiBend;
0307 std::vector<int> dtQuality;
0308 std::vector<int> dtPhiPacked;
0309 };
0310 }
0311 #endif