Go to the documentation of this file.00001 #ifndef L1Trigger_GlobalTriggerAnalyzer_L1RetrieveL1Extra_h
00002 #define L1Trigger_GlobalTriggerAnalyzer_L1RetrieveL1Extra_h
00003
00020
00021 #include <iosfwd>
00022 #include <memory>
00023 #include <vector>
00024 #include <string>
00025
00026
00027
00028
00029
00030 #include "FWCore/Framework/interface/Frameworkfwd.h"
00031 #include "FWCore/ServiceRegistry/interface/Service.h"
00032
00033 #include "FWCore/Framework/interface/Event.h"
00034 #include "FWCore/Framework/interface/Run.h"
00035 #include "FWCore/Framework/interface/EventSetup.h"
00036
00037 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00038 #include "FWCore/Utilities/interface/InputTag.h"
00039
00040
00041 #include "DataFormats/L1Trigger/interface/L1MuonParticle.h"
00042 #include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h"
00043 #include "DataFormats/L1Trigger/interface/L1EmParticle.h"
00044 #include "DataFormats/L1Trigger/interface/L1EmParticleFwd.h"
00045 #include "DataFormats/L1Trigger/interface/L1JetParticle.h"
00046 #include "DataFormats/L1Trigger/interface/L1JetParticleFwd.h"
00047 #include "DataFormats/L1Trigger/interface/L1EtMissParticle.h"
00048 #include "DataFormats/L1Trigger/interface/L1EtMissParticleFwd.h"
00049 #include "DataFormats/L1Trigger/interface/L1HFRings.h"
00050 #include "DataFormats/L1Trigger/interface/L1HFRingsFwd.h"
00051
00052 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
00053
00054
00055
00056
00057
00058 class L1RetrieveL1Extra {
00059
00060 public:
00061
00062
00063 explicit L1RetrieveL1Extra(const edm::ParameterSet&);
00064
00065
00066 virtual ~L1RetrieveL1Extra();
00067
00068 public:
00069
00071
00072 inline const bool validL1ExtraMuon() const {
00073 return m_validL1ExtraMuon;
00074 }
00075
00076
00077 inline const bool validL1ExtraIsoEG() const {
00078 return m_validL1ExtraIsoEG;
00079 }
00080
00081 inline const bool validL1ExtraNoIsoEG() const {
00082 return m_validL1ExtraNoIsoEG;
00083 }
00084
00085
00086 inline const bool validL1ExtraCenJet() const {
00087 return m_validL1ExtraCenJet;
00088 }
00089
00090 inline const bool validL1ExtraForJet() const {
00091 return m_validL1ExtraForJet;
00092 }
00093
00094 inline const bool validL1ExtraTauJet() const {
00095 return m_validL1ExtraTauJet;
00096 }
00097
00098
00099 inline const bool validL1ExtraETT() const {
00100 return m_validL1ExtraETT;
00101 }
00102
00103 inline const bool validL1ExtraETM() const {
00104 return m_validL1ExtraETM;
00105 }
00106
00107 inline const bool validL1ExtraHTT() const {
00108 return m_validL1ExtraHTT;
00109 }
00110
00111 inline const bool validL1ExtraHTM() const {
00112 return m_validL1ExtraHTM;
00113 }
00114
00115
00116 inline const bool validL1ExtraHfBitCounts() const {
00117 return m_validL1ExtraHfBitCounts;
00118 }
00119
00120 inline const bool validL1ExtraHfRingEtSums() const {
00121 return m_validL1ExtraHfRingEtSums;
00122 }
00123
00124 const bool validL1ExtraColl(const L1GtObject&) const;
00125
00127 const edm::InputTag inputTagL1ExtraColl(const L1GtObject&) const;
00128
00130
00131 inline const l1extra::L1MuonParticleCollection* l1ExtraMuon() const {
00132 return m_l1ExtraMuon;
00133 }
00134
00135 inline const l1extra::L1EmParticleCollection* l1ExtraIsoEG() const {
00136 return m_l1ExtraIsoEG;
00137 }
00138 inline const l1extra::L1EmParticleCollection* l1ExtraNoIsoEG() const {
00139 return m_l1ExtraNoIsoEG;
00140 }
00141
00142 inline const l1extra::L1JetParticleCollection* l1ExtraCenJet() const {
00143 return m_l1ExtraCenJet;
00144 }
00145 inline const l1extra::L1JetParticleCollection* l1ExtraForJet() const {
00146 return m_l1ExtraForJet;
00147 }
00148 inline const l1extra::L1JetParticleCollection* l1ExtraTauJet() const {
00149 return m_l1ExtraTauJet;
00150 }
00151
00152 inline const l1extra::L1EtMissParticleCollection* l1ExtraETT() const {
00153 return m_l1ExtraETT;
00154 }
00155 inline const l1extra::L1EtMissParticleCollection* l1ExtraETM() const {
00156 return m_l1ExtraETM;
00157 }
00158 inline const l1extra::L1EtMissParticleCollection* l1ExtraHTT() const {
00159 return m_l1ExtraHTT;
00160 }
00161 inline const l1extra::L1EtMissParticleCollection* l1ExtraHTM() const {
00162 return m_l1ExtraHTM;
00163 }
00164
00165 inline const l1extra::L1HFRingsCollection* l1ExtraHfBitCounts() const {
00166 return m_l1ExtraHfBitCounts;
00167 }
00168 inline const l1extra::L1HFRingsCollection* l1ExtraHfRingEtSums() const {
00169 return m_l1ExtraHfRingEtSums;
00170 }
00171
00174 void retrieveL1ExtraObjects(const edm::Event&, const edm::EventSetup&);
00175
00178
00184 void printL1Extra(std::ostream& oStr, const L1GtObject& gtObject,
00185 const bool checkBxInEvent, const int bxInEvent,
00186 const bool checkObjIndexInColl, const int objIndexInColl) const;
00187
00189 void printL1Extra(std::ostream&, const L1GtObject&, const int bxInEvent) const;
00190
00192 void printL1Extra(std::ostream&, const L1GtObject&) const;
00193
00195 void printL1Extra(std::ostream&, const int bxInEvent) const;
00196
00198 void printL1Extra(std::ostream&) const;
00199
00200 private:
00201
00203
00205
00206 edm::InputTag m_tagL1ExtraMuon;
00207
00208 edm::InputTag m_tagL1ExtraIsoEG;
00209 edm::InputTag m_tagL1ExtraNoIsoEG;
00210
00211 edm::InputTag m_tagL1ExtraCenJet;
00212 edm::InputTag m_tagL1ExtraForJet;
00213 edm::InputTag m_tagL1ExtraTauJet;
00214
00215 edm::InputTag m_tagL1ExtraEtMissMET;
00216 edm::InputTag m_tagL1ExtraEtMissHTM;
00217
00218 edm::InputTag m_tagL1ExtraHFRings;
00219
00220 int m_nrBxInEventGmt;
00221 int m_nrBxInEventGct;
00222
00224
00225 bool m_validL1ExtraMuon;
00226
00227 bool m_validL1ExtraIsoEG;
00228 bool m_validL1ExtraNoIsoEG;
00229
00230 bool m_validL1ExtraCenJet;
00231 bool m_validL1ExtraForJet;
00232 bool m_validL1ExtraTauJet;
00233
00234 bool m_validL1ExtraETT;
00235 bool m_validL1ExtraETM;
00236 bool m_validL1ExtraHTT;
00237 bool m_validL1ExtraHTM;
00238
00239 bool m_validL1ExtraHfBitCounts;
00240 bool m_validL1ExtraHfRingEtSums;
00241
00243
00244 const l1extra::L1MuonParticleCollection* m_l1ExtraMuon;
00245
00246 const l1extra::L1EmParticleCollection* m_l1ExtraIsoEG;
00247 const l1extra::L1EmParticleCollection* m_l1ExtraNoIsoEG;
00248
00249 const l1extra::L1JetParticleCollection* m_l1ExtraCenJet;
00250 const l1extra::L1JetParticleCollection* m_l1ExtraForJet;
00251 const l1extra::L1JetParticleCollection* m_l1ExtraTauJet;
00252
00253 const l1extra::L1EtMissParticleCollection* m_l1ExtraETT;
00254 const l1extra::L1EtMissParticleCollection* m_l1ExtraETM;
00255 const l1extra::L1EtMissParticleCollection* m_l1ExtraHTT;
00256 const l1extra::L1EtMissParticleCollection* m_l1ExtraHTM;
00257
00258 const l1extra::L1HFRingsCollection* m_l1ExtraHfBitCounts;
00259 const l1extra::L1HFRingsCollection* m_l1ExtraHfRingEtSums;
00260
00261 };
00262
00263 #endif