File indexing completed on 2024-04-06 12:20:01
0001 #ifndef L1Trigger_GlobalTriggerAnalyzer_L1RetrieveL1Extra_h
0002 #define L1Trigger_GlobalTriggerAnalyzer_L1RetrieveL1Extra_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include <iosfwd>
0020 #include <memory>
0021 #include <vector>
0022 #include <string>
0023
0024
0025
0026
0027
0028 #include "FWCore/Framework/interface/Frameworkfwd.h"
0029 #include "FWCore/ServiceRegistry/interface/Service.h"
0030
0031 #include "FWCore/Framework/interface/Event.h"
0032 #include "FWCore/Framework/interface/Run.h"
0033 #include "FWCore/Framework/interface/EventSetup.h"
0034
0035 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0036 #include "FWCore/Utilities/interface/InputTag.h"
0037
0038
0039 #include "DataFormats/L1Trigger/interface/L1MuonParticle.h"
0040 #include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h"
0041 #include "DataFormats/L1Trigger/interface/L1EmParticle.h"
0042 #include "DataFormats/L1Trigger/interface/L1EmParticleFwd.h"
0043 #include "DataFormats/L1Trigger/interface/L1JetParticle.h"
0044 #include "DataFormats/L1Trigger/interface/L1JetParticleFwd.h"
0045 #include "DataFormats/L1Trigger/interface/L1EtMissParticle.h"
0046 #include "DataFormats/L1Trigger/interface/L1EtMissParticleFwd.h"
0047 #include "DataFormats/L1Trigger/interface/L1HFRings.h"
0048 #include "DataFormats/L1Trigger/interface/L1HFRingsFwd.h"
0049 #include "FWCore/Framework/interface/ConsumesCollector.h"
0050 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
0051
0052
0053
0054
0055 class L1RetrieveL1Extra {
0056 public:
0057
0058 explicit L1RetrieveL1Extra(const edm::ParameterSet&, edm::ConsumesCollector&& iC);
0059
0060
0061 virtual ~L1RetrieveL1Extra();
0062
0063 public:
0064
0065
0066 inline const bool validL1ExtraMuon() const { return m_validL1ExtraMuon; }
0067
0068
0069 inline const bool validL1ExtraIsoEG() const { return m_validL1ExtraIsoEG; }
0070
0071 inline const bool validL1ExtraNoIsoEG() const { return m_validL1ExtraNoIsoEG; }
0072
0073
0074 inline const bool validL1ExtraCenJet() const { return m_validL1ExtraCenJet; }
0075
0076 inline const bool validL1ExtraForJet() const { return m_validL1ExtraForJet; }
0077
0078 inline const bool validL1ExtraTauJet() const { return m_validL1ExtraTauJet; }
0079
0080
0081 inline const bool validL1ExtraETT() const { return m_validL1ExtraETT; }
0082
0083 inline const bool validL1ExtraETM() const { return m_validL1ExtraETM; }
0084
0085 inline const bool validL1ExtraHTT() const { return m_validL1ExtraHTT; }
0086
0087 inline const bool validL1ExtraHTM() const { return m_validL1ExtraHTM; }
0088
0089
0090 inline const bool validL1ExtraHfBitCounts() const { return m_validL1ExtraHfBitCounts; }
0091
0092 inline const bool validL1ExtraHfRingEtSums() const { return m_validL1ExtraHfRingEtSums; }
0093
0094 const bool validL1ExtraColl(const L1GtObject&) const;
0095
0096
0097 const edm::InputTag inputTagL1ExtraColl(const L1GtObject&) const;
0098
0099
0100
0101 inline const l1extra::L1MuonParticleCollection* l1ExtraMuon() const { return m_l1ExtraMuon; }
0102
0103 inline const l1extra::L1EmParticleCollection* l1ExtraIsoEG() const { return m_l1ExtraIsoEG; }
0104 inline const l1extra::L1EmParticleCollection* l1ExtraNoIsoEG() const { return m_l1ExtraNoIsoEG; }
0105
0106 inline const l1extra::L1JetParticleCollection* l1ExtraCenJet() const { return m_l1ExtraCenJet; }
0107 inline const l1extra::L1JetParticleCollection* l1ExtraForJet() const { return m_l1ExtraForJet; }
0108 inline const l1extra::L1JetParticleCollection* l1ExtraTauJet() const { return m_l1ExtraTauJet; }
0109
0110 inline const l1extra::L1EtMissParticleCollection* l1ExtraETT() const { return m_l1ExtraETT; }
0111 inline const l1extra::L1EtMissParticleCollection* l1ExtraETM() const { return m_l1ExtraETM; }
0112 inline const l1extra::L1EtMissParticleCollection* l1ExtraHTT() const { return m_l1ExtraHTT; }
0113 inline const l1extra::L1EtMissParticleCollection* l1ExtraHTM() const { return m_l1ExtraHTM; }
0114
0115 inline const l1extra::L1HFRingsCollection* l1ExtraHfBitCounts() const { return m_l1ExtraHfBitCounts; }
0116 inline const l1extra::L1HFRingsCollection* l1ExtraHfRingEtSums() const { return m_l1ExtraHfRingEtSums; }
0117
0118
0119
0120 void retrieveL1ExtraObjects(const edm::Event&, const edm::EventSetup&);
0121
0122
0123
0124
0125
0126
0127
0128
0129
0130 void printL1Extra(std::ostream& oStr,
0131 const L1GtObject& gtObject,
0132 const bool checkBxInEvent,
0133 const int bxInEvent,
0134 const bool checkObjIndexInColl,
0135 const int objIndexInColl) const;
0136
0137
0138 void printL1Extra(std::ostream&, const L1GtObject&, const int bxInEvent) const;
0139
0140
0141 void printL1Extra(std::ostream&, const L1GtObject&) const;
0142
0143
0144 void printL1Extra(std::ostream&, const int bxInEvent) const;
0145
0146
0147 void printL1Extra(std::ostream&) const;
0148
0149 private:
0150
0151
0152
0153
0154 edm::InputTag m_tagL1ExtraMuon;
0155
0156 edm::InputTag m_tagL1ExtraIsoEG;
0157 edm::InputTag m_tagL1ExtraNoIsoEG;
0158
0159 edm::InputTag m_tagL1ExtraCenJet;
0160 edm::InputTag m_tagL1ExtraForJet;
0161 edm::InputTag m_tagL1ExtraTauJet;
0162
0163 edm::InputTag m_tagL1ExtraEtMissMET;
0164 edm::InputTag m_tagL1ExtraEtMissHTM;
0165
0166 edm::InputTag m_tagL1ExtraHFRings;
0167
0168 int m_nrBxInEventGmt;
0169 int m_nrBxInEventGct;
0170
0171
0172
0173 bool m_validL1ExtraMuon;
0174
0175 bool m_validL1ExtraIsoEG;
0176 bool m_validL1ExtraNoIsoEG;
0177
0178 bool m_validL1ExtraCenJet;
0179 bool m_validL1ExtraForJet;
0180 bool m_validL1ExtraTauJet;
0181
0182 bool m_validL1ExtraETT;
0183 bool m_validL1ExtraETM;
0184 bool m_validL1ExtraHTT;
0185 bool m_validL1ExtraHTM;
0186
0187 bool m_validL1ExtraHfBitCounts;
0188 bool m_validL1ExtraHfRingEtSums;
0189
0190
0191
0192 const l1extra::L1MuonParticleCollection* m_l1ExtraMuon;
0193
0194 const l1extra::L1EmParticleCollection* m_l1ExtraIsoEG;
0195 const l1extra::L1EmParticleCollection* m_l1ExtraNoIsoEG;
0196
0197 const l1extra::L1JetParticleCollection* m_l1ExtraCenJet;
0198 const l1extra::L1JetParticleCollection* m_l1ExtraForJet;
0199 const l1extra::L1JetParticleCollection* m_l1ExtraTauJet;
0200
0201 const l1extra::L1EtMissParticleCollection* m_l1ExtraETT;
0202 const l1extra::L1EtMissParticleCollection* m_l1ExtraETM;
0203 const l1extra::L1EtMissParticleCollection* m_l1ExtraHTT;
0204 const l1extra::L1EtMissParticleCollection* m_l1ExtraHTM;
0205
0206 const l1extra::L1HFRingsCollection* m_l1ExtraHfBitCounts;
0207 const l1extra::L1HFRingsCollection* m_l1ExtraHfRingEtSums;
0208
0209 edm::EDGetTokenT<l1extra::L1MuonParticleCollection> m_tagL1ExtraMuonTok;
0210 edm::EDGetTokenT<l1extra::L1EmParticleCollection> m_tagL1ExtraIsoEGTok;
0211 edm::EDGetTokenT<l1extra::L1EmParticleCollection> m_tagL1ExtraNoIsoEGTok;
0212 edm::EDGetTokenT<l1extra::L1JetParticleCollection> m_tagL1ExtraCenJetTok;
0213 edm::EDGetTokenT<l1extra::L1JetParticleCollection> m_tagL1ExtraForJetTok;
0214 edm::EDGetTokenT<l1extra::L1JetParticleCollection> m_tagL1ExtraTauJetTok;
0215 edm::EDGetTokenT<l1extra::L1EtMissParticleCollection> m_tagL1ExtraEtMissMETTok;
0216 edm::EDGetTokenT<l1extra::L1EtMissParticleCollection> m_tagL1ExtraEtMissHTMTok;
0217 edm::EDGetTokenT<l1extra::L1HFRingsCollection> m_tagL1ExtraHFRingsTok;
0218 };
0219
0220 #endif