Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:12

0001 #ifndef __L1Analysis_L1AnalysisL1UpgradeDataFormat_H__
0002 #define __L1Analysis_L1AnalysisL1UpgradeDataFormat_H__
0003 
0004 //-------------------------------------------------------------------------------
0005 // Created 20/04/2010 - E. Conte, A.C. Le Bihan
0006 //
0007 //
0008 // Original code : L1TriggerDPG/L1Ntuples/L1UpgradeTreeProducer - Jim Brooke
0009 //-------------------------------------------------------------------------------
0010 
0011 #include <vector>
0012 
0013 namespace L1Analysis {
0014 
0015   // copied from DataFormats/L1Trigger/interface/EtSum.h, for use in standalone ROOT macros which use this class.
0016   enum EtSumType {
0017     kTotalEt,
0018     kTotalHt,
0019     kMissingEt,
0020     kMissingHt,
0021     kTotalEtx,
0022     kTotalEty,
0023     kTotalHtx,
0024     kTotalHty,
0025     kMissingEtHF,
0026     kTotalEtxHF,
0027     kTotalEtyHF,
0028     kMinBiasHFP0,
0029     kMinBiasHFM0,
0030     kMinBiasHFP1,
0031     kMinBiasHFM1,
0032     kTotalEtHF,
0033     kTotalEtEm,
0034     kTotalHtHF,
0035     kTotalHtxHF,
0036     kTotalHtyHF,
0037     kMissingHtHF,
0038     kTowerCount,
0039     kCentrality,
0040     kAsymEt,
0041     kAsymHt,
0042     kAsymEtHF,
0043     kAsymHtHF,
0044     kZDCP,
0045     kZDCM
0046   };
0047 
0048   struct L1AnalysisL1UpgradeDataFormat {
0049     L1AnalysisL1UpgradeDataFormat() { Reset(); };
0050     ~L1AnalysisL1UpgradeDataFormat(){};
0051 
0052     void Reset() {
0053       nEGs = 0;
0054       egEt.clear();
0055       egEta.clear();
0056       egPhi.clear();
0057       egIEt.clear();
0058       egIEta.clear();
0059       egIPhi.clear();
0060       egIso.clear();
0061       egBx.clear();
0062       egTowerIPhi.clear();
0063       egTowerIEta.clear();
0064       egRawEt.clear();
0065       egIsoEt.clear();
0066       egFootprintEt.clear();
0067       egNTT.clear();
0068       egShape.clear();
0069       egTowerHoE.clear();
0070       egHwQual.clear();
0071 
0072       nTaus = 0;
0073       tauEt.clear();
0074       tauEta.clear();
0075       tauPhi.clear();
0076       tauIEt.clear();
0077       tauIEta.clear();
0078       tauIPhi.clear();
0079       tauIso.clear();
0080       tauBx.clear();
0081       tauTowerIPhi.clear();
0082       tauTowerIEta.clear();
0083       tauRawEt.clear();
0084       tauIsoEt.clear();
0085       tauNTT.clear();
0086       tauHasEM.clear();
0087       tauIsMerged.clear();
0088       tauHwQual.clear();
0089 
0090       nJets = 0;
0091       jetEt.clear();
0092       jetEta.clear();
0093       jetPhi.clear();
0094       jetIEt.clear();
0095       jetIEta.clear();
0096       jetIPhi.clear();
0097       jetHwQual.clear();
0098       jetBx.clear();
0099       jetTowerIPhi.clear();
0100       jetTowerIEta.clear();
0101       jetRawEt.clear();
0102       jetSeedEt.clear();
0103       jetPUEt.clear();
0104       jetPUDonutEt0.clear();
0105       jetPUDonutEt1.clear();
0106       jetPUDonutEt2.clear();
0107       jetPUDonutEt3.clear();
0108 
0109       nMuons = 0;
0110       muonEt.clear();
0111       muonEtUnconstrained.clear();
0112       muonEta.clear();
0113       muonPhi.clear();
0114       muonEtaAtVtx.clear();
0115       muonPhiAtVtx.clear();
0116       muonIEt.clear();
0117       muonIEtUnconstrained.clear();
0118       muonIEta.clear();
0119       muonIPhi.clear();
0120       muonIEtaAtVtx.clear();
0121       muonIPhiAtVtx.clear();
0122       muonIDEta.clear();
0123       muonIDPhi.clear();
0124       muonChg.clear();
0125       muonIso.clear();
0126       muonQual.clear();
0127       muonDxy.clear();
0128       muonTfMuonIdx.clear();
0129       muonBx.clear();
0130 
0131       nMuonShowers = 0;
0132       muonShowerBx.clear();
0133       muonShowerOneNominal.clear();
0134       muonShowerOneTight.clear();
0135       muonShowerTwoLoose.clear();
0136       muonShowerTwoLooseDiffSectors.clear();
0137 
0138       nSums = 0;
0139       sumType.clear();
0140       sumEt.clear();
0141       sumPhi.clear();
0142       sumIEt.clear();
0143       sumIPhi.clear();
0144       sumBx.clear();
0145 
0146       //CM: Adding additional sum collections for the ZDC
0147       nSumsZDC = 0;
0148       sumZDCType.clear();
0149       sumZDCEt.clear();
0150       sumZDCPhi.clear();
0151       sumZDCIEt.clear();
0152       sumZDCIPhi.clear();
0153       sumZDCBx.clear();
0154     }
0155 
0156     unsigned short int nEGs;
0157     std::vector<float> egEt;
0158     std::vector<float> egEta;
0159     std::vector<float> egPhi;
0160     std::vector<short int> egIEt;
0161     std::vector<short int> egIEta;
0162     std::vector<short int> egIPhi;
0163     std::vector<short int> egIso;
0164     std::vector<short int> egBx;
0165     std::vector<short int> egTowerIPhi;
0166     std::vector<short int> egTowerIEta;
0167     std::vector<short int> egRawEt;
0168     std::vector<short int> egIsoEt;
0169     std::vector<short int> egFootprintEt;
0170     std::vector<short int> egNTT;
0171     std::vector<short int> egShape;
0172     std::vector<short int> egTowerHoE;
0173     std::vector<short int> egHwQual;
0174 
0175     unsigned short int nTaus;
0176     std::vector<float> tauEt;
0177     std::vector<float> tauEta;
0178     std::vector<float> tauPhi;
0179     std::vector<short int> tauIEt;
0180     std::vector<short int> tauIEta;
0181     std::vector<short int> tauIPhi;
0182     std::vector<short int> tauIso;
0183     std::vector<short int> tauBx;
0184     std::vector<short int> tauTowerIPhi;
0185     std::vector<short int> tauTowerIEta;
0186     std::vector<short int> tauRawEt;
0187     std::vector<short int> tauIsoEt;
0188     std::vector<short int> tauNTT;
0189     std::vector<short int> tauHasEM;
0190     std::vector<short int> tauIsMerged;
0191     std::vector<short int> tauHwQual;
0192 
0193     unsigned short int nJets;
0194     std::vector<float> jetEt;
0195     std::vector<float> jetEta;
0196     std::vector<float> jetPhi;
0197     std::vector<short int> jetIEt;
0198     std::vector<short int> jetIEta;
0199     std::vector<short int> jetIPhi;
0200     std::vector<short int> jetHwQual;
0201     std::vector<short int> jetBx;
0202     std::vector<short int> jetTowerIPhi;
0203     std::vector<short int> jetTowerIEta;
0204     std::vector<short int> jetRawEt;
0205     std::vector<short int> jetSeedEt;
0206     std::vector<short int> jetPUEt;
0207     std::vector<short int> jetPUDonutEt0;
0208     std::vector<short int> jetPUDonutEt1;
0209     std::vector<short int> jetPUDonutEt2;
0210     std::vector<short int> jetPUDonutEt3;
0211 
0212     unsigned short int nMuons;
0213     std::vector<float> muonEt;
0214     std::vector<float> muonEtUnconstrained;
0215     std::vector<float> muonEta;
0216     std::vector<float> muonPhi;
0217     std::vector<float> muonEtaAtVtx;
0218     std::vector<float> muonPhiAtVtx;
0219     std::vector<short int> muonIEt;
0220     std::vector<short int> muonIEtUnconstrained;
0221     std::vector<short int> muonIEta;
0222     std::vector<short int> muonIPhi;
0223     std::vector<short int> muonIEtaAtVtx;
0224     std::vector<short int> muonIPhiAtVtx;
0225     std::vector<short int> muonIDEta;
0226     std::vector<short int> muonIDPhi;
0227     std::vector<short int> muonChg;
0228     std::vector<unsigned short int> muonIso;
0229     std::vector<unsigned short int> muonQual;
0230     std::vector<unsigned short int> muonDxy;
0231     std::vector<unsigned short int> muonTfMuonIdx;
0232     std::vector<short int> muonBx;
0233 
0234     unsigned short int nMuonShowers;
0235     std::vector<short int> muonShowerBx;
0236     std::vector<short int> muonShowerOneNominal;
0237     std::vector<short int> muonShowerOneTight;
0238     std::vector<short int> muonShowerTwoLoose;
0239     std::vector<short int> muonShowerTwoLooseDiffSectors;
0240 
0241     unsigned short int nSums;
0242     std::vector<short int> sumType;
0243     std::vector<float> sumEt;
0244     std::vector<float> sumPhi;
0245     std::vector<short int> sumIEt;
0246     std::vector<short int> sumIPhi;
0247     std::vector<float> sumBx;
0248 
0249     unsigned short int nSumsZDC;
0250     std::vector<short int> sumZDCType;
0251     std::vector<float> sumZDCEt;
0252     std::vector<float> sumZDCPhi;
0253     std::vector<short int> sumZDCIEt;
0254     std::vector<short int> sumZDCIPhi;
0255     std::vector<float> sumZDCBx;
0256   };
0257 }  // namespace L1Analysis
0258 #endif