CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
l1t::L1TGlobalAnalyzer Class Reference
Inheritance diagram for l1t::L1TGlobalAnalyzer:
edm::one::EDAnalyzer<> edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 L1TGlobalAnalyzer (const edm::ParameterSet &)
 
 ~L1TGlobalAnalyzer () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Types

enum  ObjectType {
  MU = 0x1, EG = 0x2, Tau = 0x3, Jet = 0x4,
  Sum = 0x5, DmxEG = 0x6, DmxTau = 0x7, DmxJet = 0x8,
  DmxSum = 0x9, GtAlg = 0xA, EmulGtAlg = 0xB, gMU = 0xC
}
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
void endJob () override
 

Private Attributes

TFileDirectory algDir_
 
std::map< ObjectType, TFileDirectorydirs_
 
TFileDirectory dmxVGtDir_
 
bool doHistos_
 
bool doText_
 
TFileDirectory evtDispDir_
 
TH1F * hAlgoBits_
 
TH2F * hAlgoBitsEmulDxVsHw_
 
TH2F * hAlgoBitsEmulGtVsHw_
 
std::map< ObjectType, TH1F * > hbx_
 
TH2F * hDmxVsGTEGEt_
 
TH2F * hDmxVsGTEGEta_
 
TH2F * hDmxVsGTEGPhi_
 
TH2F * hDmxVsGTJetEt_
 
TH2F * hDmxVsGTJetEta_
 
TH2F * hDmxVsGTJetPhi_
 
TH2F * hDmxVsGTSumEt_ETM_
 
TH2F * hDmxVsGTSumEt_ETMHF_
 
TH2F * hDmxVsGTSumEt_ETT_
 
TH2F * hDmxVsGTSumEt_ETTem_
 
TH2F * hDmxVsGTSumEt_HFM0_
 
TH2F * hDmxVsGTSumEt_HFM1_
 
TH2F * hDmxVsGTSumEt_HFP0_
 
TH2F * hDmxVsGTSumEt_HFP1_
 
TH2F * hDmxVsGTSumEt_HTM_
 
TH2F * hDmxVsGTSumEt_HTT_
 
TH2F * hDmxVsGTSumPhi_ETM_
 
TH2F * hDmxVsGTSumPhi_ETMHF_
 
TH2F * hDmxVsGTSumPhi_HTM_
 
TH2F * hDmxVsGTTauEt_
 
TH2F * hDmxVsGTTauEta_
 
TH2F * hDmxVsGTTauPhi_
 
TH1F * hEmulDxAlgoBits_
 
TH1F * hEmulGtAlgoBits_
 
std::map< ObjectType, TH1F * > het_
 
std::map< ObjectType, TH1F * > heta_
 
std::map< ObjectType, TH2F * > hetaphi_
 
TH2F * hGmtVsGTMUEt_
 
TH2F * hGmtVsGTMUEta_
 
TH2F * hGmtVsGTMUPhi_
 
std::map< ObjectType, TH1F * > hphi_
 
edm::EDGetToken m_dmxEGToken
 
edm::EDGetToken m_dmxJetToken
 
edm::EDGetToken m_dmxSumToken
 
edm::EDGetToken m_dmxTauToken
 
bool m_doDmxEGs
 
bool m_doDmxJets
 
bool m_doDmxSums
 
bool m_doDmxTaus
 
bool m_doEGs
 
bool m_doEmulDxAlg
 
bool m_doEmulGtAlg
 
bool m_dogMUs
 
bool m_doGtAlg
 
bool m_doJets
 
bool m_doMUs
 
bool m_doSums
 
bool m_doTaus
 
edm::EDGetToken m_egToken
 
edm::EDGetToken m_emulDxAlgToken
 
edm::EDGetToken m_emulGtAlgToken
 
edm::EDGetToken m_gmuToken
 
edm::EDGetToken m_gtAlgToken
 
edm::EDGetToken m_jetToken
 
edm::EDGetToken m_muToken
 
edm::EDGetToken m_sumToken
 
edm::EDGetToken m_tauToken
 
std::vector< ObjectTypetypes_
 
std::vector< std::string > typeStr_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 53 of file L1TGlobalAnalyzer.cc.

Member Enumeration Documentation

◆ ObjectType

Enumerator
MU 
EG 
Tau 
Jet 
Sum 
DmxEG 
DmxTau 
DmxJet 
DmxSum 
GtAlg 
EmulGtAlg 
gMU 

Definition at line 104 of file L1TGlobalAnalyzer.cc.

Constructor & Destructor Documentation

◆ L1TGlobalAnalyzer()

L1TGlobalAnalyzer::L1TGlobalAnalyzer ( const edm::ParameterSet iConfig)
explicit

Definition at line 175 of file L1TGlobalAnalyzer.cc.

References DmxEG, DmxJet, DmxSum, DmxTau, EG, edm::ParameterSet::getParameter(), gMU, qcdHighPtDQM_cfi::jetTag, m_dmxEGToken, m_dmxJetToken, m_dmxSumToken, m_dmxTauToken, m_doDmxEGs, m_doDmxJets, m_doDmxSums, m_doDmxTaus, m_doEGs, m_doEmulDxAlg, m_doEmulGtAlg, m_dogMUs, m_doGtAlg, m_doJets, m_doMUs, m_doSums, m_doTaus, m_egToken, m_emulDxAlgToken, m_emulGtAlgToken, m_gmuToken, m_gtAlgToken, m_jetToken, m_muToken, m_sumToken, m_tauToken, MU, offsetAnalyzerDQM_cff::muTag, Sum, mhtProducer_cfi::tauTag, types_, and typeStr_.

176  : doText_(iConfig.getUntrackedParameter<bool>("doText", true)),
177  doHistos_(iConfig.getUntrackedParameter<bool>("doHistos", true)) {
178  //now do what ever initialization is needed
179 
180  // register what you consume and keep token for later access:
181  edm::InputTag nullTag("None");
182 
183  edm::InputTag gmuTag = iConfig.getParameter<edm::InputTag>("gmuToken");
184  m_gmuToken = consumes<l1t::MuonBxCollection>(gmuTag);
185  m_dogMUs = !(gmuTag == nullTag);
186 
187  edm::InputTag dmxEGTag = iConfig.getParameter<edm::InputTag>("dmxEGToken");
188  m_dmxEGToken = consumes<l1t::EGammaBxCollection>(dmxEGTag);
189  m_doDmxEGs = !(dmxEGTag == nullTag);
190 
191  edm::InputTag dmxTauTag = iConfig.getParameter<edm::InputTag>("dmxTauToken");
192  m_dmxTauToken = consumes<l1t::TauBxCollection>(dmxTauTag);
193  m_doDmxTaus = !(dmxTauTag == nullTag);
194 
195  edm::InputTag dmxJetTag = iConfig.getParameter<edm::InputTag>("dmxJetToken");
196  m_dmxJetToken = consumes<l1t::JetBxCollection>(dmxJetTag);
197  m_doDmxJets = !(dmxJetTag == nullTag);
198 
199  edm::InputTag dmxSumTag = iConfig.getParameter<edm::InputTag>("dmxEtSumToken");
200  m_dmxSumToken = consumes<l1t::EtSumBxCollection>(dmxSumTag);
201  m_doDmxSums = !(dmxSumTag == nullTag);
202 
203  edm::InputTag muTag = iConfig.getParameter<edm::InputTag>("muToken");
204  m_muToken = consumes<l1t::MuonBxCollection>(muTag);
205  m_doMUs = !(muTag == nullTag);
206 
207  edm::InputTag egTag = iConfig.getParameter<edm::InputTag>("egToken");
208  m_egToken = consumes<l1t::EGammaBxCollection>(egTag);
209  m_doEGs = !(egTag == nullTag);
210 
211  edm::InputTag tauTag = iConfig.getParameter<edm::InputTag>("tauToken");
212  m_tauToken = consumes<l1t::TauBxCollection>(tauTag);
213  m_doTaus = !(tauTag == nullTag);
214 
215  edm::InputTag jetTag = iConfig.getParameter<edm::InputTag>("jetToken");
216  m_jetToken = consumes<l1t::JetBxCollection>(jetTag);
217  m_doJets = !(jetTag == nullTag);
218 
219  edm::InputTag sumTag = iConfig.getParameter<edm::InputTag>("etSumToken");
220  m_sumToken = consumes<l1t::EtSumBxCollection>(sumTag);
221  m_doSums = !(sumTag == nullTag);
222 
223  edm::InputTag gtAlgTag = iConfig.getParameter<edm::InputTag>("gtAlgToken");
224  m_gtAlgToken = consumes<GlobalAlgBlkBxCollection>(gtAlgTag);
225  m_doGtAlg = !(gtAlgTag == nullTag);
226 
227  edm::InputTag emulGtAlgTag = iConfig.getParameter<edm::InputTag>("emulGtAlgToken");
228  m_emulGtAlgToken = consumes<GlobalAlgBlkBxCollection>(emulGtAlgTag);
229  m_doEmulGtAlg = !(emulGtAlgTag == nullTag);
230 
231  edm::InputTag emulDxAlgTag = iConfig.getParameter<edm::InputTag>("emulDxAlgToken");
232  m_emulDxAlgToken = consumes<GlobalAlgBlkBxCollection>(emulDxAlgTag);
233  m_doEmulDxAlg = !(emulDxAlgTag == nullTag);
234 
235  types_.push_back(gMU);
236  types_.push_back(DmxEG);
237  types_.push_back(DmxTau);
238  types_.push_back(DmxJet);
239  types_.push_back(DmxSum);
240  types_.push_back(MU);
241  types_.push_back(EG);
242  types_.push_back(Tau);
243  types_.push_back(Jet);
244  types_.push_back(Sum);
245 
246  typeStr_.push_back("gmtmu");
247  typeStr_.push_back("dmxeg");
248  typeStr_.push_back("dmxtau");
249  typeStr_.push_back("dmxjet");
250  typeStr_.push_back("dmxsum");
251  typeStr_.push_back("mu");
252  typeStr_.push_back("eg");
253  typeStr_.push_back("tau");
254  typeStr_.push_back("jet");
255  typeStr_.push_back("sum");
256  }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDGetToken m_emulDxAlgToken
edm::EDGetToken m_dmxEGToken
std::vector< std::string > typeStr_
edm::EDGetToken m_emulGtAlgToken
T getUntrackedParameter(std::string const &, T const &) const
Definition: Jet.py:1
edm::EDGetToken m_gmuToken
edm::EDGetToken m_dmxTauToken
edm::EDGetToken m_gtAlgToken
edm::EDGetToken m_sumToken
Definition: Tau.py:1
edm::EDGetToken m_dmxSumToken
edm::EDGetToken m_tauToken
edm::EDGetToken m_jetToken
edm::EDGetToken m_dmxJetToken
std::vector< ObjectType > types_

◆ ~L1TGlobalAnalyzer()

L1TGlobalAnalyzer::~L1TGlobalAnalyzer ( )
override

Definition at line 258 of file L1TGlobalAnalyzer.cc.

258  {
259  // do anything here that needs to be done at desctruction time
260  // (e.g. close files, deallocate resources etc.)
261  }

Member Function Documentation

◆ analyze()

void L1TGlobalAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 268 of file L1TGlobalAnalyzer.cc.

References DmxEG, DmxJet, DmxSum, DmxTau, doText_, EG, gMU, hAlgoBits_, hAlgoBitsEmulDxVsHw_, hAlgoBitsEmulGtVsHw_, hbx_, hDmxVsGTEGEt_, hDmxVsGTEGEta_, hDmxVsGTEGPhi_, hDmxVsGTJetEt_, hDmxVsGTJetEta_, hDmxVsGTJetPhi_, hDmxVsGTSumEt_ETM_, hDmxVsGTSumEt_ETMHF_, hDmxVsGTSumEt_ETT_, hDmxVsGTSumEt_ETTem_, hDmxVsGTSumEt_HFM0_, hDmxVsGTSumEt_HFM1_, hDmxVsGTSumEt_HFP0_, hDmxVsGTSumEt_HFP1_, hDmxVsGTSumEt_HTM_, hDmxVsGTSumEt_HTT_, hDmxVsGTSumPhi_ETM_, hDmxVsGTSumPhi_ETMHF_, hDmxVsGTSumPhi_HTM_, hDmxVsGTTauEt_, hDmxVsGTTauEta_, hDmxVsGTTauPhi_, hEmulDxAlgoBits_, hEmulGtAlgoBits_, het_, heta_, hetaphi_, hGmtVsGTMUEt_, hGmtVsGTMUEta_, hGmtVsGTMUPhi_, hphi_, iEvent, PDWG_EXODelayedJetMET_cff::jets, L1Analysis::kMinBiasHFM0, L1Analysis::kMinBiasHFM1, L1Analysis::kMinBiasHFP0, L1Analysis::kMinBiasHFP1, L1Analysis::kMissingEt, L1Analysis::kMissingEtHF, L1Analysis::kMissingHt, L1Analysis::kTotalEt, L1Analysis::kTotalEtEm, L1Analysis::kTotalHt, m_dmxEGToken, m_dmxJetToken, m_dmxSumToken, m_dmxTauToken, m_doDmxEGs, m_doDmxJets, m_doDmxSums, m_doDmxTaus, m_doEGs, m_doEmulDxAlg, m_doEmulGtAlg, m_dogMUs, m_doGtAlg, m_doJets, m_doMUs, m_doSums, m_doTaus, m_egToken, m_emulDxAlgToken, m_emulGtAlgToken, m_gmuToken, m_gtAlgToken, m_jetToken, m_muToken, m_sumToken, m_tauToken, MU, PDWG_BPHSkim_cff::muons, Sum, Tau3MuMonitor_cff::taus, and submitPVValidationJobs::text.

268  {
269  using namespace edm;
270 
271  std::stringstream text;
272 
273  // get gmt Muons
274  if (m_dogMUs) {
276  iEvent.getByToken(m_gmuToken, gmuons);
277 
278  for (int ibx = gmuons->getFirstBX(); ibx <= gmuons->getLastBX(); ++ibx) {
279  for (auto itr = gmuons->begin(ibx); itr != gmuons->end(ibx); ++itr) {
280  hbx_.at(gMU)->Fill(ibx);
281  het_.at(gMU)->Fill(itr->hwPt());
282  heta_.at(gMU)->Fill(itr->hwEtaAtVtx());
283  hphi_.at(gMU)->Fill(itr->hwPhiAtVtx());
284  hetaphi_.at(gMU)->Fill(itr->hwEtaAtVtx(), itr->hwPhiAtVtx(), itr->hwPt());
285 
286  text << "Muon : "
287  << " BX=" << ibx << " ipt=" << itr->hwPt() << " ieta=" << itr->hwEtaAtVtx()
288  << " iphi=" << itr->hwPhiAtVtx() << std::endl;
289  }
290  }
291  }
292 
293  // get EG
294  if (m_doDmxEGs) {
296  iEvent.getByToken(m_dmxEGToken, dmxegs);
297 
298  for (int ibx = dmxegs->getFirstBX(); ibx <= dmxegs->getLastBX(); ++ibx) {
299  for (auto itr = dmxegs->begin(ibx); itr != dmxegs->end(ibx); ++itr) {
300  hbx_.at(DmxEG)->Fill(ibx);
301  het_.at(DmxEG)->Fill(itr->hwPt());
302  heta_.at(DmxEG)->Fill(itr->hwEta());
303  hphi_.at(DmxEG)->Fill(itr->hwPhi());
304  hetaphi_.at(DmxEG)->Fill(itr->hwEta(), itr->hwPhi(), itr->hwPt());
305 
306  text << "Dmx EG : "
307  << " BX=" << ibx << " ipt=" << itr->hwPt() << " ieta=" << itr->hwEta() << " iphi=" << itr->hwPhi()
308  << std::endl;
309  }
310  }
311  }
312 
313  // get tau
314  if (m_doDmxTaus) {
315  Handle<BXVector<l1t::Tau> > dmxtaus;
316  iEvent.getByToken(m_dmxTauToken, dmxtaus);
317 
318  for (int ibx = dmxtaus->getFirstBX(); ibx <= dmxtaus->getLastBX(); ++ibx) {
319  for (auto itr = dmxtaus->begin(ibx); itr != dmxtaus->end(ibx); ++itr) {
320  hbx_.at(DmxTau)->Fill(ibx);
321  het_.at(DmxTau)->Fill(itr->hwPt());
322  heta_.at(DmxTau)->Fill(itr->hwEta());
323  hphi_.at(DmxTau)->Fill(itr->hwPhi());
324  hetaphi_.at(DmxTau)->Fill(itr->hwEta(), itr->hwPhi(), itr->hwPt());
325 
326  text << "Dmx Tau : "
327  << " BX=" << ibx << " ipt=" << itr->hwPt() << " ieta=" << itr->hwEta() << " iphi=" << itr->hwPhi()
328  << std::endl;
329  }
330  }
331  }
332 
333  // get jet
334  if (m_doDmxJets) {
335  Handle<BXVector<l1t::Jet> > dmxjets;
336  iEvent.getByToken(m_dmxJetToken, dmxjets);
337 
338  for (int ibx = dmxjets->getFirstBX(); ibx <= dmxjets->getLastBX(); ++ibx) {
339  for (auto itr = dmxjets->begin(ibx); itr != dmxjets->end(ibx); ++itr) {
340  hbx_.at(DmxJet)->Fill(ibx);
341  het_.at(DmxJet)->Fill(itr->hwPt());
342  heta_.at(DmxJet)->Fill(itr->hwEta());
343  hphi_.at(DmxJet)->Fill(itr->hwPhi());
344  hetaphi_.at(DmxJet)->Fill(itr->hwEta(), itr->hwPhi(), itr->hwPt());
345 
346  text << "Dmx Jet : "
347  << " BX=" << ibx << " ipt=" << itr->hwPt() << " ieta=" << itr->hwEta() << " iphi=" << itr->hwPhi()
348  << std::endl;
349  }
350  }
351  }
352 
353  // get sums
354  if (m_doDmxSums) {
355  Handle<BXVector<l1t::EtSum> > dmxsums;
356  iEvent.getByToken(m_dmxSumToken, dmxsums);
357 
358  for (int ibx = dmxsums->getFirstBX(); ibx <= dmxsums->getLastBX(); ++ibx) {
359  for (auto itr = dmxsums->begin(ibx); itr != dmxsums->end(ibx); ++itr) {
360  hbx_.at(DmxSum)->Fill(ibx);
361  het_.at(DmxSum)->Fill(itr->hwPt());
362  heta_.at(DmxSum)->Fill(itr->hwEta());
363  hphi_.at(DmxSum)->Fill(itr->hwPhi());
364  hetaphi_.at(DmxSum)->Fill(itr->hwEta(), itr->hwPhi(), itr->hwPt());
365 
366  text << "Dmx Sum : "
367  << " type=" << itr->getType() << " BX=" << ibx << " ipt=" << itr->hwPt() << " ieta=" << itr->hwEta()
368  << " iphi=" << itr->hwPhi() << std::endl;
369  }
370  }
371  }
372 
373  // get Muons
374  if (m_doMUs) {
376  iEvent.getByToken(m_muToken, muons);
377 
378  for (int ibx = muons->getFirstBX(); ibx <= muons->getLastBX(); ++ibx) {
379  for (auto itr = muons->begin(ibx); itr != muons->end(ibx); ++itr) {
380  hbx_.at(MU)->Fill(ibx);
381  het_.at(MU)->Fill(itr->hwPt());
382  heta_.at(MU)->Fill(itr->hwEtaAtVtx());
383  hphi_.at(MU)->Fill(itr->hwPhiAtVtx());
384  hetaphi_.at(MU)->Fill(itr->hwEtaAtVtx(), itr->hwPhiAtVtx(), itr->hwPt());
385 
386  text << "Muon : "
387  << " BX=" << ibx << " ipt=" << itr->hwPt() << " ieta=" << itr->hwEtaAtVtx()
388  << " iphi=" << itr->hwPhiAtVtx() << std::endl;
389  }
390  }
391  }
392 
393  // get EG
394  if (m_doEGs) {
396  iEvent.getByToken(m_egToken, egs);
397 
398  for (int ibx = egs->getFirstBX(); ibx <= egs->getLastBX(); ++ibx) {
399  for (auto itr = egs->begin(ibx); itr != egs->end(ibx); ++itr) {
400  hbx_.at(EG)->Fill(ibx);
401  het_.at(EG)->Fill(itr->hwPt());
402  heta_.at(EG)->Fill(itr->hwEta());
403  hphi_.at(EG)->Fill(itr->hwPhi());
404  hetaphi_.at(EG)->Fill(itr->hwEta(), itr->hwPhi(), itr->hwPt());
405 
406  text << "EG : "
407  << " BX=" << ibx << " ipt=" << itr->hwPt() << " ieta=" << itr->hwEta() << " iphi=" << itr->hwPhi()
408  << std::endl;
409  }
410  }
411  }
412 
413  // get tau
414  if (m_doTaus) {
416  iEvent.getByToken(m_tauToken, taus);
417 
418  for (int ibx = taus->getFirstBX(); ibx <= taus->getLastBX(); ++ibx) {
419  for (auto itr = taus->begin(ibx); itr != taus->end(ibx); ++itr) {
420  hbx_.at(Tau)->Fill(ibx);
421  het_.at(Tau)->Fill(itr->hwPt());
422  heta_.at(Tau)->Fill(itr->hwEta());
423  hphi_.at(Tau)->Fill(itr->hwPhi());
424  hetaphi_.at(Tau)->Fill(itr->hwEta(), itr->hwPhi(), itr->hwPt());
425 
426  text << "Tau : "
427  << " BX=" << ibx << " ipt=" << itr->hwPt() << " ieta=" << itr->hwEta() << " iphi=" << itr->hwPhi()
428  << std::endl;
429  }
430  }
431  }
432 
433  // get jet
434  if (m_doJets) {
436  iEvent.getByToken(m_jetToken, jets);
437 
438  for (int ibx = jets->getFirstBX(); ibx <= jets->getLastBX(); ++ibx) {
439  for (auto itr = jets->begin(ibx); itr != jets->end(ibx); ++itr) {
440  hbx_.at(Jet)->Fill(ibx);
441  het_.at(Jet)->Fill(itr->hwPt());
442  heta_.at(Jet)->Fill(itr->hwEta());
443  hphi_.at(Jet)->Fill(itr->hwPhi());
444  hetaphi_.at(Jet)->Fill(itr->hwEta(), itr->hwPhi(), itr->hwPt());
445 
446  text << "Jet : "
447  << " BX=" << ibx << " ipt=" << itr->hwPt() << " ieta=" << itr->hwEta() << " iphi=" << itr->hwPhi()
448  << std::endl;
449  }
450  }
451  }
452 
453  // get sums
454  if (m_doSums) {
456  iEvent.getByToken(m_sumToken, sums);
457 
458  for (int ibx = sums->getFirstBX(); ibx <= sums->getLastBX(); ++ibx) {
459  for (auto itr = sums->begin(ibx); itr != sums->end(ibx); ++itr) {
460  hbx_.at(Sum)->Fill(ibx);
461  het_.at(Sum)->Fill(itr->hwPt());
462  heta_.at(Sum)->Fill(itr->hwEta());
463  hphi_.at(Sum)->Fill(itr->hwPhi());
464  hetaphi_.at(Sum)->Fill(itr->hwEta(), itr->hwPhi(), itr->hwPt());
465  text << "Sum : "
466  << " type=" << itr->getType() << " BX=" << ibx << " ipt=" << itr->hwPt() << " ieta=" << itr->hwEta()
467  << " iphi=" << itr->hwPhi() << std::endl;
468  }
469  }
470  }
471 
472  //Algorithm Bits
473  if (m_doGtAlg) {
475  iEvent.getByToken(m_gtAlgToken, algs);
476 
477  for (int ibx = algs->getFirstBX(); ibx <= algs->getLastBX(); ++ibx) {
478  for (auto itr = algs->begin(ibx); itr != algs->end(ibx); ++itr) {
479  for (int algBit = 0; algBit < 128;
480  algBit++) { //Fix Me: Should access size of algo vector...need method in GlobalAlgBlk class
481  if (itr->getAlgoDecisionFinal(algBit)) {
482  hAlgoBits_->Fill(algBit);
483  text << "HW Fired Alg Bit : " << algBit << std::endl;
484  }
485  }
486  }
487  }
488  }
489 
490  //Algorithm Bits (Emulation seeded by GT input)
491  if (m_doEmulGtAlg) {
492  Handle<BXVector<GlobalAlgBlk> > emulGtAlgs;
493  iEvent.getByToken(m_emulGtAlgToken, emulGtAlgs);
494 
495  for (int ibx = emulGtAlgs->getFirstBX(); ibx <= emulGtAlgs->getLastBX(); ++ibx) {
496  for (auto itr = emulGtAlgs->begin(ibx); itr != emulGtAlgs->end(ibx); ++itr) {
497  for (int algBit = 0; algBit < 128;
498  algBit++) { //Fix Me: Should access size of algo vector...need method in GlobalAlgBlk class
499  if (itr->getAlgoDecisionFinal(algBit)) {
500  hEmulGtAlgoBits_->Fill(algBit);
501  text << "Emul w/ GTInput Fired Alg Bit : " << algBit << std::endl;
502  }
503  }
504  }
505  }
506  }
507 
508  //Algorithm Bits (Emulation seeded by Demux Output)
509  if (m_doEmulDxAlg) {
510  Handle<BXVector<GlobalAlgBlk> > emulDxAlgs;
511  iEvent.getByToken(m_emulDxAlgToken, emulDxAlgs);
512 
513  for (int ibx = emulDxAlgs->getFirstBX(); ibx <= emulDxAlgs->getLastBX(); ++ibx) {
514  for (auto itr = emulDxAlgs->begin(ibx); itr != emulDxAlgs->end(ibx); ++itr) {
515  for (int algBit = 0; algBit < 128;
516  algBit++) { //Fix Me: Should access size of algo vector...need method in GlobalAlgBlk class
517  if (itr->getAlgoDecisionFinal(algBit)) {
518  hEmulDxAlgoBits_->Fill(algBit);
519  text << "Emul w/ Demux output Fired Alg Bit : " << algBit << std::endl;
520  }
521  }
522  }
523  }
524  }
525 
526  // Mu (gmt vs GT)
527  if (m_doMUs & m_dogMUs) {
529  iEvent.getByToken(m_muToken, mus);
530 
532  iEvent.getByToken(m_gmuToken, gmtmus);
533 
534  for (int ibx = mus->getFirstBX(); ibx <= mus->getLastBX(); ++ibx) {
535  // Cycle through all GT MUs
536  for (unsigned int igtMU = 0; igtMU < mus->size(ibx); igtMU++) {
537  double gtMUEt = mus->at(ibx, igtMU).hwPt();
538  double gmtMUEt = 0.0;
539  if (gmtmus->size(ibx) > igtMU)
540  gmtMUEt = gmtmus->at(ibx, igtMU).hwPt();
541  hGmtVsGTMUEt_->Fill(gtMUEt, gmtMUEt);
542 
543  double gtMUEta = mus->at(ibx, igtMU).hwEtaAtVtx();
544  double gmtMUEta = 0.0;
545  if (gmtmus->size(ibx) > igtMU)
546  gmtMUEta = gmtmus->at(ibx, igtMU).hwEtaAtVtx();
547  hGmtVsGTMUEta_->Fill(gtMUEta, gmtMUEta);
548 
549  double gtMUPhi = mus->at(ibx, igtMU).hwPhiAtVtx();
550  double gmtMUPhi = 0.0;
551  if (gmtmus->size(ibx) > igtMU)
552  gmtMUPhi = gmtmus->at(ibx, igtMU).hwPhiAtVtx();
553  hGmtVsGTMUPhi_->Fill(gtMUPhi, gmtMUPhi);
554  }
555  // if there are extra MUs in the dmx record them
556  for (unsigned int igmtMU = mus->size(ibx); igmtMU < gmtmus->size(ibx); igmtMU++) {
557  double gtMUEt = 0.0; //no GT jet exists
558  double gmtMUEt = gmtmus->at(ibx, igmtMU).hwPt();
559  hGmtVsGTMUEt_->Fill(gtMUEt, gmtMUEt);
560 
561  double gtMUEta = 0.0;
562  double gmtMUEta = gmtmus->at(ibx, igmtMU).hwEtaAtVtx();
563  hGmtVsGTMUEta_->Fill(gtMUEta, gmtMUEta);
564 
565  double gtMUPhi = 0.0;
566  double gmtMUPhi = gmtmus->at(ibx, igmtMU).hwPhiAtVtx();
567  hGmtVsGTMUPhi_->Fill(gtMUPhi, gmtMUPhi);
568  }
569  }
570  }
571 
572  // EG (Dmx vs GT)
573  if (m_doEGs & m_doDmxEGs) {
575  iEvent.getByToken(m_egToken, egs);
576 
578  iEvent.getByToken(m_dmxEGToken, dmxegs);
579 
580  for (int ibx = egs->getFirstBX(); ibx <= egs->getLastBX(); ++ibx) {
581  // Cycle through all GT egs
582  for (unsigned int igtEG = 0; igtEG < egs->size(ibx); igtEG++) {
583  double gtEGEt = egs->at(ibx, igtEG).hwPt();
584  double dmxEGEt = 0.0;
585  if (dmxegs->size(ibx) > igtEG)
586  dmxEGEt = dmxegs->at(ibx, igtEG).hwPt();
587  hDmxVsGTEGEt_->Fill(gtEGEt, dmxEGEt);
588 
589  double gtEGEta = egs->at(ibx, igtEG).hwEta();
590  double dmxEGEta = 0.0;
591  if (dmxegs->size(ibx) > igtEG)
592  dmxEGEta = dmxegs->at(ibx, igtEG).hwEta();
593  hDmxVsGTEGEta_->Fill(gtEGEta, dmxEGEta);
594 
595  double gtEGPhi = egs->at(ibx, igtEG).hwPhi();
596  double dmxEGPhi = 0.0;
597  if (dmxegs->size(ibx) > igtEG)
598  dmxEGPhi = dmxegs->at(ibx, igtEG).hwPhi();
599  hDmxVsGTEGPhi_->Fill(gtEGPhi, dmxEGPhi);
600  }
601  // if there are extra egs in the dmx record them
602  for (unsigned int idmEG = egs->size(ibx); idmEG < dmxegs->size(ibx); idmEG++) {
603  double gtEGEt = 0.0; //no GT jet exists
604  double dmxEGEt = dmxegs->at(ibx, idmEG).hwPt();
605  hDmxVsGTEGEt_->Fill(gtEGEt, dmxEGEt);
606 
607  double gtEGEta = 0.0;
608  double dmxEGEta = dmxegs->at(ibx, idmEG).hwEta();
609  hDmxVsGTEGEta_->Fill(gtEGEta, dmxEGEta);
610 
611  double gtEGPhi = 0.0;
612  double dmxEGPhi = dmxegs->at(ibx, idmEG).hwPhi();
613  hDmxVsGTEGPhi_->Fill(gtEGPhi, dmxEGPhi);
614  }
615  }
616  }
617 
618  // Tau (Dmx vs GT)
619  if (m_doTaus & m_doDmxTaus) {
621  iEvent.getByToken(m_tauToken, taus);
622 
623  Handle<BXVector<l1t::Tau> > dmxtaus;
624  iEvent.getByToken(m_dmxTauToken, dmxtaus);
625 
626  for (int ibx = taus->getFirstBX(); ibx <= taus->getLastBX(); ++ibx) {
627  // Cycle through all GT taus
628  for (unsigned int igtTau = 0; igtTau < taus->size(ibx); igtTau++) {
629  double gtTauEt = taus->at(ibx, igtTau).hwPt();
630  double dmxTauEt = 0.0;
631  if (dmxtaus->size(ibx) > igtTau)
632  dmxTauEt = dmxtaus->at(ibx, igtTau).hwPt();
633  hDmxVsGTTauEt_->Fill(gtTauEt, dmxTauEt);
634 
635  double gtTauEta = taus->at(ibx, igtTau).hwEta();
636  double dmxTauEta = 0.0;
637  if (dmxtaus->size(ibx) > igtTau)
638  dmxTauEta = dmxtaus->at(ibx, igtTau).hwEta();
639  hDmxVsGTTauEta_->Fill(gtTauEta, dmxTauEta);
640 
641  double gtTauPhi = taus->at(ibx, igtTau).hwPhi();
642  double dmxTauPhi = 0.0;
643  if (dmxtaus->size(ibx) > igtTau)
644  dmxTauPhi = dmxtaus->at(ibx, igtTau).hwPhi();
645  hDmxVsGTTauPhi_->Fill(gtTauPhi, dmxTauPhi);
646  }
647  // if there are extra taus in the dmx record them
648  for (unsigned int idmTau = taus->size(ibx); idmTau < dmxtaus->size(ibx); idmTau++) {
649  double gtTauEt = 0.0; //no GT jet exists
650  double dmxTauEt = dmxtaus->at(ibx, idmTau).hwPt();
651  hDmxVsGTTauEt_->Fill(gtTauEt, dmxTauEt);
652 
653  double gtTauEta = 0.0;
654  double dmxTauEta = dmxtaus->at(ibx, idmTau).hwEta();
655  hDmxVsGTTauEta_->Fill(gtTauEta, dmxTauEta);
656 
657  double gtTauPhi = 0.0;
658  double dmxTauPhi = dmxtaus->at(ibx, idmTau).hwPhi();
659  hDmxVsGTTauPhi_->Fill(gtTauPhi, dmxTauPhi);
660  }
661  }
662  }
663 
664  // Jets (Dmx vs GT)
665  if (m_doJets & m_doDmxJets) {
667  iEvent.getByToken(m_jetToken, jets);
668 
669  Handle<BXVector<l1t::Jet> > dmxjets;
670  iEvent.getByToken(m_dmxJetToken, dmxjets);
671 
672  for (int ibx = jets->getFirstBX(); ibx <= jets->getLastBX(); ++ibx) {
673  // Cycle through all GT jets
674  for (unsigned int igtJ = 0; igtJ < jets->size(ibx); igtJ++) {
675  double gtJetEt = jets->at(ibx, igtJ).hwPt();
676  double dmxJetEt = 0.0;
677  if (dmxjets->size(ibx) > igtJ)
678  dmxJetEt = dmxjets->at(ibx, igtJ).hwPt();
679  hDmxVsGTJetEt_->Fill(gtJetEt, dmxJetEt);
680 
681  double gtJetEta = jets->at(ibx, igtJ).hwEta();
682  double dmxJetEta = 0.0;
683  if (dmxjets->size(ibx) > igtJ)
684  dmxJetEta = dmxjets->at(ibx, igtJ).hwEta();
685  hDmxVsGTJetEta_->Fill(gtJetEta, dmxJetEta);
686 
687  double gtJetPhi = jets->at(ibx, igtJ).hwPhi();
688  double dmxJetPhi = 0.0;
689  if (dmxjets->size(ibx) > igtJ)
690  dmxJetPhi = dmxjets->at(ibx, igtJ).hwPhi();
691  hDmxVsGTJetPhi_->Fill(gtJetPhi, dmxJetPhi);
692  }
693  // if there are extra jets in the dmx record them
694  for (unsigned int idmJ = jets->size(ibx); idmJ < dmxjets->size(ibx); idmJ++) {
695  double gtJetEt = 0.0; //no GT jet exists
696  double dmxJetEt = dmxjets->at(ibx, idmJ).hwPt();
697  hDmxVsGTJetEt_->Fill(gtJetEt, dmxJetEt);
698 
699  double gtJetEta = 0.0;
700  double dmxJetEta = dmxjets->at(ibx, idmJ).hwEta();
701  hDmxVsGTJetEta_->Fill(gtJetEta, dmxJetEta);
702 
703  double gtJetPhi = 0.0;
704  double dmxJetPhi = dmxjets->at(ibx, idmJ).hwPhi();
705  hDmxVsGTJetPhi_->Fill(gtJetPhi, dmxJetPhi);
706  }
707  }
708  }
709 
710  // Sums (Dmx vs GT)
711  if (m_doSums & m_doDmxSums) {
713  iEvent.getByToken(m_sumToken, sums);
714 
715  Handle<BXVector<l1t::EtSum> > dmxSums;
716  iEvent.getByToken(m_dmxSumToken, dmxSums);
717 
718  for (int ibx = sums->getFirstBX(); ibx <= sums->getLastBX(); ++ibx) {
719  // Cycle through all GT sums
720  for (unsigned int igtS = 0; igtS < sums->size(ibx); igtS++) {
721  double gtSumEt = sums->at(ibx, igtS).hwPt();
722  double dmxSumEt = 0.0;
723  if (dmxSums->size(ibx) > igtS)
724  dmxSumEt = dmxSums->at(ibx, igtS).hwPt();
725 
726  double gtSumPhi = sums->at(ibx, igtS).hwPhi();
727  double dmxSumPhi = 0.0;
728  if (dmxSums->size(ibx) > igtS)
729  dmxSumPhi = dmxSums->at(ibx, igtS).hwPhi();
730 
731  if (sums->at(ibx, igtS).getType() == dmxSums->at(ibx, igtS).getType()) {
732  switch (sums->at(ibx, igtS).getType()) {
734  hDmxVsGTSumEt_ETT_->Fill(gtSumEt, dmxSumEt);
735 
736  break;
738  hDmxVsGTSumEt_ETTem_->Fill(gtSumEt, dmxSumEt);
739 
740  break;
742  hDmxVsGTSumEt_HTT_->Fill(gtSumEt, dmxSumEt);
743 
744  break;
746  hDmxVsGTSumEt_ETM_->Fill(gtSumEt, dmxSumEt);
747  hDmxVsGTSumPhi_ETM_->Fill(gtSumPhi, dmxSumPhi);
748  break;
750  hDmxVsGTSumEt_ETMHF_->Fill(gtSumEt, dmxSumEt);
751  hDmxVsGTSumPhi_ETMHF_->Fill(gtSumPhi, dmxSumPhi);
752  break;
754  hDmxVsGTSumEt_HTM_->Fill(gtSumEt, dmxSumEt);
755  hDmxVsGTSumPhi_HTM_->Fill(gtSumPhi, dmxSumPhi);
756  break;
758  hDmxVsGTSumEt_HFP0_->Fill(gtSumEt, dmxSumEt);
759  break;
761  hDmxVsGTSumEt_HFM0_->Fill(gtSumEt, dmxSumEt);
762  break;
764  hDmxVsGTSumEt_HFP1_->Fill(gtSumEt, dmxSumEt);
765  break;
767  hDmxVsGTSumEt_HFM1_->Fill(gtSumEt, dmxSumEt);
768  break;
769  default:
770  break;
771  }
772  } else {
773  text << "WARNING: EtSum Types do not line up between DeMux and uGT " << std::endl;
774  }
775  }
776  // if there are extra sumss in the dmx record them...should not be any...but let's check
777  for (unsigned int idmS = sums->size(ibx); idmS < dmxSums->size(ibx); idmS++) {
778  double gtSumEt = -1.0; //no GT jet exists
779  double dmxSumEt = dmxSums->at(ibx, idmS).hwPt();
780 
781  double gtSumPhi = -1.0;
782  double dmxSumPhi = dmxSums->at(ibx, idmS).hwPhi();
783 
784  switch (dmxSums->at(ibx, idmS).getType()) {
786  hDmxVsGTSumEt_ETT_->Fill(gtSumEt, dmxSumEt);
787 
788  break;
790  hDmxVsGTSumEt_ETTem_->Fill(gtSumEt, dmxSumEt);
791 
792  break;
794  hDmxVsGTSumEt_HTT_->Fill(gtSumEt, dmxSumEt);
795 
796  break;
798  hDmxVsGTSumEt_ETM_->Fill(gtSumEt, dmxSumEt);
799  hDmxVsGTSumPhi_ETM_->Fill(gtSumPhi, dmxSumPhi);
800  break;
802  hDmxVsGTSumEt_ETMHF_->Fill(gtSumEt, dmxSumEt);
803  hDmxVsGTSumPhi_ETMHF_->Fill(gtSumPhi, dmxSumPhi);
804  break;
806  hDmxVsGTSumEt_HTM_->Fill(gtSumEt, dmxSumEt);
807  hDmxVsGTSumPhi_HTM_->Fill(gtSumPhi, dmxSumPhi);
808  break;
809  default:
810  break;
811  }
812  }
813  }
814  }
815 
816  //Algorithm Bits (Emulation vs HW)
817  if (m_doGtAlg && m_doEmulGtAlg) {
819  iEvent.getByToken(m_gtAlgToken, hwalgs);
820 
822  iEvent.getByToken(m_emulGtAlgToken, emulAlgs);
823 
824  //for ( int ibx=hwalgs->getFirstBX(); ibx<=hwalgs->getLastBX(); ++ibx) {
825  int ibx = 0;
826 
827  auto itr = hwalgs->begin(ibx);
828  auto itr_emul = emulAlgs->begin(ibx);
829 
830  for (int algBit = 0; algBit < 128;
831  algBit++) { //Fix Me: Should access size of algo vector...need method in GlobalAlgBlk class
832  bool hw = itr->getAlgoDecisionFinal(algBit);
833  bool em = itr_emul->getAlgoDecisionFinal(algBit);
834  if (hw & em) {
835  hAlgoBitsEmulGtVsHw_->Fill(algBit, algBit);
836  } else if (hw & !em) {
837  hAlgoBitsEmulGtVsHw_->Fill(algBit, -1.0);
838  text << "WARNING: HW Fnd Alg Bit " << algBit << " but emulation did not " << std::endl;
839  } else if (!hw & em) {
840  hAlgoBitsEmulGtVsHw_->Fill(-1.0, algBit);
841  text << "WARNING: Emul. Fnd Alg Bit " << algBit << " but hardware did not " << std::endl;
842  }
843  }
844 
845  // }
846  }
847 
848  //Algorithm Bits (Emulation vs HW)
849  if (m_doGtAlg && m_doEmulDxAlg) {
851  iEvent.getByToken(m_gtAlgToken, hwalgs);
852 
854  iEvent.getByToken(m_emulDxAlgToken, emulAlgs);
855 
856  //for ( int ibx=hwalgs->getFirstBX(); ibx<=hwalgs->getLastBX(); ++ibx) {
857  int ibx = 0;
858 
859  auto itr = hwalgs->begin(ibx);
860  auto itr_emul = emulAlgs->begin(ibx);
861 
862  for (int algBit = 0; algBit < 128;
863  algBit++) { //Fix Me: Should access size of algo vector...need method in GlobalAlgBlk class
864  bool hw = itr->getAlgoDecisionFinal(algBit);
865  bool em = itr_emul->getAlgoDecisionFinal(algBit);
866  if (hw & em) {
867  hAlgoBitsEmulDxVsHw_->Fill(algBit, algBit);
868  } else if (hw & !em) {
869  hAlgoBitsEmulDxVsHw_->Fill(algBit, -1.0);
870  } else if (!hw & em) {
871  hAlgoBitsEmulDxVsHw_->Fill(-1.0, algBit);
872  }
873  }
874 
875  // }
876  }
877 
878  if (doText_)
879  edm::LogInfo("L1TGlobalEvents") << text.str();
880  }
edm::EDGetToken m_emulDxAlgToken
std::map< ObjectType, TH1F * > het_
edm::EDGetToken m_dmxEGToken
std::map< ObjectType, TH1F * > hphi_
edm::EDGetToken m_emulGtAlgToken
int iEvent
Definition: GenABIO.cc:224
Definition: Jet.py:1
edm::EDGetToken m_gmuToken
edm::EDGetToken m_dmxTauToken
edm::EDGetToken m_gtAlgToken
edm::EDGetToken m_sumToken
std::map< ObjectType, TH1F * > hbx_
Log< level::Info, false > LogInfo
std::map< ObjectType, TH2F * > hetaphi_
Definition: Tau.py:1
edm::EDGetToken m_dmxSumToken
edm::EDGetToken m_tauToken
HLT enums.
edm::EDGetToken m_jetToken
edm::EDGetToken m_dmxJetToken
std::map< ObjectType, TH1F * > heta_

◆ beginJob()

void L1TGlobalAnalyzer::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 883 of file L1TGlobalAnalyzer.cc.

References algDir_, dirs_, DmxEG, DmxJet, DmxSum, DmxTau, dmxVGtDir_, EG, compareTotals::fs, gMU, hAlgoBits_, hAlgoBitsEmulDxVsHw_, hAlgoBitsEmulGtVsHw_, hbx_, hDmxVsGTEGEt_, hDmxVsGTEGEta_, hDmxVsGTEGPhi_, hDmxVsGTJetEt_, hDmxVsGTJetEta_, hDmxVsGTJetPhi_, hDmxVsGTSumEt_ETM_, hDmxVsGTSumEt_ETMHF_, hDmxVsGTSumEt_ETT_, hDmxVsGTSumEt_ETTem_, hDmxVsGTSumEt_HFM0_, hDmxVsGTSumEt_HFM1_, hDmxVsGTSumEt_HFP0_, hDmxVsGTSumEt_HFP1_, hDmxVsGTSumEt_HTM_, hDmxVsGTSumEt_HTT_, hDmxVsGTSumPhi_ETM_, hDmxVsGTSumPhi_ETMHF_, hDmxVsGTSumPhi_HTM_, hDmxVsGTTauEt_, hDmxVsGTTauEta_, hDmxVsGTTauPhi_, hEmulDxAlgoBits_, hEmulGtAlgoBits_, het_, heta_, hetaphi_, hGmtVsGTMUEt_, hGmtVsGTMUEta_, hGmtVsGTMUPhi_, hphi_, TFileDirectory::make(), MU, str, Sum, types_, and typeStr_.

883  {
885 
886  auto itr = types_.cbegin();
887  auto str = typeStr_.cbegin();
888 
889  for (; itr != types_.end(); ++itr, ++str) {
890  if (*itr == Jet || *itr == DmxJet || *itr == Sum || *itr == DmxSum || *itr == DmxEG || *itr == EG ||
891  *itr == DmxTau || *itr == Tau) {
892  double etmax = 99.5;
893  if (*itr == Jet || *itr == DmxJet || *itr == Sum || *itr == DmxSum)
894  etmax = 499.5;
895 
896  dirs_.insert(std::pair<ObjectType, TFileDirectory>(*itr, fs->mkdir(*str)));
897 
898  het_.insert(std::pair<ObjectType, TH1F*>(*itr, dirs_.at(*itr).make<TH1F>("et", "", 500, -0.5, etmax)));
899 
900  hbx_.insert(std::pair<ObjectType, TH1F*>(*itr, dirs_.at(*itr).make<TH1F>("bx", "", 11, -5.5, 5.5)));
901 
902  heta_.insert(std::pair<ObjectType, TH1F*>(*itr, dirs_.at(*itr).make<TH1F>("eta", "", 229, -114.5, 114.5)));
903  hphi_.insert(std::pair<ObjectType, TH1F*>(*itr, dirs_.at(*itr).make<TH1F>("phi", "", 144, -0.5, 143.5)));
904  hetaphi_.insert(std::pair<ObjectType, TH2F*>(
905  *itr, dirs_.at(*itr).make<TH2F>("etaphi", "", 229, -114.5, 114.5, 144, -0.5, 143.5)));
906  } else if (*itr == MU || *itr == gMU) {
907  double etmax = 511.5;
908  dirs_.insert(std::pair<ObjectType, TFileDirectory>(*itr, fs->mkdir(*str)));
909 
910  het_.insert(std::pair<ObjectType, TH1F*>(*itr, dirs_.at(*itr).make<TH1F>("et", "", 512, -0.5, etmax)));
911 
912  hbx_.insert(std::pair<ObjectType, TH1F*>(*itr, dirs_.at(*itr).make<TH1F>("bx", "", 11, -5.5, 5.5)));
913 
914  heta_.insert(std::pair<ObjectType, TH1F*>(*itr, dirs_.at(*itr).make<TH1F>("eta", "", 549, -224.5, 224.5)));
915  hphi_.insert(std::pair<ObjectType, TH1F*>(*itr, dirs_.at(*itr).make<TH1F>("phi", "", 576, -0.5, 575.5)));
916  hetaphi_.insert(std::pair<ObjectType, TH2F*>(
917  *itr, dirs_.at(*itr).make<TH2F>("etaphi", "", 549, -224.5, 224.5, 576, -0.5, 575.5)));
918  }
919  }
920 
921  algDir_ = fs->mkdir("Algorithms");
922  hAlgoBits_ = algDir_.make<TH1F>("hAlgoBits", "Algorithm Bits", 100, -0.5, 99.5);
923  hEmulGtAlgoBits_ = algDir_.make<TH1F>("hEmulGtAlgoBits", "GT Emulated Algorithm Bits", 100, -0.5, 99.5);
925  "hAlgoBitsEmulGtVsHw", "Algorithm Bits (GT) Emulation vs Hardware", 129, -1.5, 127.5, 129, -1.5, 127.5);
926  hEmulDxAlgoBits_ = algDir_.make<TH1F>("hEmulDxAlgoBits", "Dx Emulated Algorithm Bits", 100, -0.5, 99.5);
928  "hAlgoBitsEmulDxVsHw", "Algorithm Bits (Dx) Emulation vs Hardware", 129, -1.5, 127.5, 129, -1.5, 127.5);
929 
930  dmxVGtDir_ = fs->mkdir("SourceVsGT");
931 
932  hGmtVsGTMUEt_ =
933  dmxVGtDir_.make<TH2F>("hGmtVsGTMUEt", "Gmt MU Et versus GT MU Et", 512, -0.5, 511.5, 512, -0.5, 511.5);
935  dmxVGtDir_.make<TH2F>("hGmtVsGTMUEta", "Gmt MU Eta versus GT MU Eta", 549, -224.5, 224.5, 549, -224.5, 224.5);
937  dmxVGtDir_.make<TH2F>("hGmtVsGTMUPhi", "Gmt MU Phi versus GT MU Phi", 576, -0.5, 575.5, 576, -0.5, 575.5);
938 
939  hDmxVsGTEGEt_ =
940  dmxVGtDir_.make<TH2F>("hDmxVsGTEGEt", "Dmx EG Et versus GT EG Et", 500, -0.5, 499.5, 500, -0.5, 499.5);
942  dmxVGtDir_.make<TH2F>("hDmxVsGTEGEta", "Dmx EG Eta versus GT EG Eta", 229, -114.5, 114.5, 229, -114.5, 114.5);
944  dmxVGtDir_.make<TH2F>("hDmxVsGTEGPhi", "Dmx EG Phi versus GT EG Phi", 144, -0.5, 143.5, 144, -0.5, 143.5);
945 
947  dmxVGtDir_.make<TH2F>("hDmxVsGTTauEt", "Dmx Tau Et versus GT Tau Et", 500, -0.5, 499.5, 500, -0.5, 499.5);
949  "hDmxVsGTTauEta", "Dmx Tau Eta versus GT Tau Eta", 229, -114.5, 114.5, 229, -114.5, 114.5);
951  dmxVGtDir_.make<TH2F>("hDmxVsGTTauPhi", "Dmx Tau Phi versus GT Tau Phi", 144, -0.5, 143.5, 144, -0.5, 143.5);
952 
954  dmxVGtDir_.make<TH2F>("hDmxVsGTJetEt", "Dmx Jet Et versus GT Jet Et", 500, -0.5, 499.5, 500, -0.5, 499.5);
956  "hDmxVsGTJetEta", "Dmx Jet Eta versus GT Jet Eta", 229, -114.5, 114.5, 229, -114.5, 114.5);
958  dmxVGtDir_.make<TH2F>("hDmxVsGTJetPhi", "Dmx Jet Phi versus GT Jet Phi", 144, -0.5, 143.5, 144, -0.5, 143.5);
959 
961  dmxVGtDir_.make<TH2F>("hDmxVsGTSumEt_ETT", "Dmx ETT versus GT ETT", 256, -0.5, 2047.5, 256, -0.5, 2047.5);
963  dmxVGtDir_.make<TH2F>("hDmxVsGTSumEt_ETTem", "Dmx ETTem versus GT ETTem", 256, -0.5, 2047.5, 256, -0.5, 2047.5);
965  dmxVGtDir_.make<TH2F>("hDmxVsGTSumEt_HTT", "Dmx HTT versus GT HTT", 256, -0.5, 2047.5, 256, -0.5, 2047.5);
967  dmxVGtDir_.make<TH2F>("hDmxVsGTSumEt_ETM", "Dmx ETM versus GT ETM", 500, -0.5, 499.5, 500, -0.5, 499.5);
969  "hDmxVsGTSumPhi_ETM", "Dmx ETM Phi versus GT ETM Phi", 144, -0.5, 143.5, 144, -0.5, 143.5);
971  dmxVGtDir_.make<TH2F>("hDmxVsGTSumEt_ETMHF", "Dmx ETMHF versus GT ETMHF", 500, -0.5, 499.5, 500, -0.5, 499.5);
973  "hDmxVsGTSumPhi_ETMHF", "Dmx ETMHF Phi versus GT ETMHF Phi", 144, -0.5, 143.5, 144, -0.5, 143.5);
975  dmxVGtDir_.make<TH2F>("hDmxVsGTSumEt_HTM", "Dmx HTM versus GT HTM", 500, -0.5, 499.5, 500, -0.5, 499.5);
977  "hDmxVsGTSumPhi_HTM", "Dmx HTM Phi versus GT HTM Phi", 144, -0.5, 143.5, 144, -0.5, 143.5);
978 
980  dmxVGtDir_.make<TH2F>("hDmxVsGTSumEt_HFP0", "Dmx versus GT HFP0", 16, -0.5, 15.5, 16, -0.5, 15.5);
982  dmxVGtDir_.make<TH2F>("hDmxVsGTSumEt_HFM0", "Dmx versus GT HFM0", 16, -0.5, 15.5, 16, -0.5, 15.5);
984  dmxVGtDir_.make<TH2F>("hDmxVsGTSumEt_HFP1", "Dmx versus GT HFP1", 16, -0.5, 15.5, 16, -0.5, 15.5);
986  dmxVGtDir_.make<TH2F>("hDmxVsGTSumEt_HFM1", "Dmx versus GT HFM1", 16, -0.5, 15.5, 16, -0.5, 15.5);
987  }
std::map< ObjectType, TH1F * > het_
std::vector< std::string > typeStr_
std::map< ObjectType, TH1F * > hphi_
T * make(const Args &...args) const
make new ROOT object
Definition: Jet.py:1
std::map< ObjectType, TH1F * > hbx_
std::map< ObjectType, TH2F * > hetaphi_
Definition: Tau.py:1
std::map< ObjectType, TFileDirectory > dirs_
std::vector< ObjectType > types_
#define str(s)
std::map< ObjectType, TH1F * > heta_

◆ endJob()

void L1TGlobalAnalyzer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 990 of file L1TGlobalAnalyzer.cc.

990 {}

◆ fillDescriptions()

void L1TGlobalAnalyzer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 1025 of file L1TGlobalAnalyzer.cc.

References edm::ConfigurationDescriptions::addDefault(), and submitPVResolutionJobs::desc.

1025  {
1026  //The following says we do not know what parameters are allowed so do no validation
1027  // Please change this to state exactly what you do use, even if it is no parameters
1029  desc.setUnknown();
1030  descriptions.addDefault(desc);
1031  }
void addDefault(ParameterSetDescription const &psetDescription)

Member Data Documentation

◆ algDir_

TFileDirectory l1t::L1TGlobalAnalyzer::algDir_
private

Definition at line 130 of file L1TGlobalAnalyzer.cc.

Referenced by beginJob().

◆ dirs_

std::map<ObjectType, TFileDirectory> l1t::L1TGlobalAnalyzer::dirs_
private

Definition at line 122 of file L1TGlobalAnalyzer.cc.

Referenced by beginJob().

◆ dmxVGtDir_

TFileDirectory l1t::L1TGlobalAnalyzer::dmxVGtDir_
private

Definition at line 131 of file L1TGlobalAnalyzer.cc.

Referenced by beginJob().

◆ doHistos_

bool l1t::L1TGlobalAnalyzer::doHistos_
private

Definition at line 102 of file L1TGlobalAnalyzer.cc.

◆ doText_

bool l1t::L1TGlobalAnalyzer::doText_
private

Definition at line 101 of file L1TGlobalAnalyzer.cc.

Referenced by analyze().

◆ evtDispDir_

TFileDirectory l1t::L1TGlobalAnalyzer::evtDispDir_
private

Definition at line 129 of file L1TGlobalAnalyzer.cc.

◆ hAlgoBits_

TH1F* l1t::L1TGlobalAnalyzer::hAlgoBits_
private

Definition at line 132 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hAlgoBitsEmulDxVsHw_

TH2F* l1t::L1TGlobalAnalyzer::hAlgoBitsEmulDxVsHw_
private

Definition at line 136 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hAlgoBitsEmulGtVsHw_

TH2F* l1t::L1TGlobalAnalyzer::hAlgoBitsEmulGtVsHw_
private

Definition at line 135 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hbx_

std::map<ObjectType, TH1F*> l1t::L1TGlobalAnalyzer::hbx_
private

Definition at line 126 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTEGEt_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTEGEt_
private

Definition at line 140 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTEGEta_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTEGEta_
private

Definition at line 141 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTEGPhi_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTEGPhi_
private

Definition at line 142 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTJetEt_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTJetEt_
private

Definition at line 146 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTJetEta_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTJetEta_
private

Definition at line 147 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTJetPhi_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTJetPhi_
private

Definition at line 148 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumEt_ETM_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumEt_ETM_
private

Definition at line 152 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumEt_ETMHF_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumEt_ETMHF_
private

Definition at line 154 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumEt_ETT_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumEt_ETT_
private

Definition at line 149 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumEt_ETTem_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumEt_ETTem_
private

Definition at line 150 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumEt_HFM0_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumEt_HFM0_
private

Definition at line 159 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumEt_HFM1_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumEt_HFM1_
private

Definition at line 161 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumEt_HFP0_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumEt_HFP0_
private

Definition at line 158 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumEt_HFP1_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumEt_HFP1_
private

Definition at line 160 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumEt_HTM_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumEt_HTM_
private

Definition at line 156 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumEt_HTT_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumEt_HTT_
private

Definition at line 151 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumPhi_ETM_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumPhi_ETM_
private

Definition at line 153 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumPhi_ETMHF_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumPhi_ETMHF_
private

Definition at line 155 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTSumPhi_HTM_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTSumPhi_HTM_
private

Definition at line 157 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTTauEt_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTTauEt_
private

Definition at line 143 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTTauEta_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTTauEta_
private

Definition at line 144 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hDmxVsGTTauPhi_

TH2F* l1t::L1TGlobalAnalyzer::hDmxVsGTTauPhi_
private

Definition at line 145 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hEmulDxAlgoBits_

TH1F* l1t::L1TGlobalAnalyzer::hEmulDxAlgoBits_
private

Definition at line 134 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hEmulGtAlgoBits_

TH1F* l1t::L1TGlobalAnalyzer::hEmulGtAlgoBits_
private

Definition at line 133 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ het_

std::map<ObjectType, TH1F*> l1t::L1TGlobalAnalyzer::het_
private

Definition at line 123 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ heta_

std::map<ObjectType, TH1F*> l1t::L1TGlobalAnalyzer::heta_
private

Definition at line 124 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hetaphi_

std::map<ObjectType, TH2F*> l1t::L1TGlobalAnalyzer::hetaphi_
private

Definition at line 127 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hGmtVsGTMUEt_

TH2F* l1t::L1TGlobalAnalyzer::hGmtVsGTMUEt_
private

Definition at line 137 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hGmtVsGTMUEta_

TH2F* l1t::L1TGlobalAnalyzer::hGmtVsGTMUEta_
private

Definition at line 138 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hGmtVsGTMUPhi_

TH2F* l1t::L1TGlobalAnalyzer::hGmtVsGTMUPhi_
private

Definition at line 139 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ hphi_

std::map<ObjectType, TH1F*> l1t::L1TGlobalAnalyzer::hphi_
private

Definition at line 125 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ m_dmxEGToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_dmxEGToken
private

Definition at line 72 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_dmxJetToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_dmxJetToken
private

Definition at line 74 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_dmxSumToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_dmxSumToken
private

Definition at line 75 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_dmxTauToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_dmxTauToken
private

Definition at line 73 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_doDmxEGs

bool l1t::L1TGlobalAnalyzer::m_doDmxEGs
private

Definition at line 87 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_doDmxJets

bool l1t::L1TGlobalAnalyzer::m_doDmxJets
private

Definition at line 89 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_doDmxSums

bool l1t::L1TGlobalAnalyzer::m_doDmxSums
private

Definition at line 90 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_doDmxTaus

bool l1t::L1TGlobalAnalyzer::m_doDmxTaus
private

Definition at line 88 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_doEGs

bool l1t::L1TGlobalAnalyzer::m_doEGs
private

Definition at line 92 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_doEmulDxAlg

bool l1t::L1TGlobalAnalyzer::m_doEmulDxAlg
private

Definition at line 99 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_doEmulGtAlg

bool l1t::L1TGlobalAnalyzer::m_doEmulGtAlg
private

Definition at line 98 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_dogMUs

bool l1t::L1TGlobalAnalyzer::m_dogMUs
private

Definition at line 86 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_doGtAlg

bool l1t::L1TGlobalAnalyzer::m_doGtAlg
private

Definition at line 97 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_doJets

bool l1t::L1TGlobalAnalyzer::m_doJets
private

Definition at line 94 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_doMUs

bool l1t::L1TGlobalAnalyzer::m_doMUs
private

Definition at line 91 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_doSums

bool l1t::L1TGlobalAnalyzer::m_doSums
private

Definition at line 95 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_doTaus

bool l1t::L1TGlobalAnalyzer::m_doTaus
private

Definition at line 93 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_egToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_egToken
private

Definition at line 77 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_emulDxAlgToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_emulDxAlgToken
private

Definition at line 84 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_emulGtAlgToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_emulGtAlgToken
private

Definition at line 83 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_gmuToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_gmuToken
private

Definition at line 71 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_gtAlgToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_gtAlgToken
private

Definition at line 82 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_jetToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_jetToken
private

Definition at line 79 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_muToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_muToken
private

Definition at line 76 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_sumToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_sumToken
private

Definition at line 80 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ m_tauToken

edm::EDGetToken l1t::L1TGlobalAnalyzer::m_tauToken
private

Definition at line 78 of file L1TGlobalAnalyzer.cc.

Referenced by analyze(), and L1TGlobalAnalyzer().

◆ types_

std::vector<ObjectType> l1t::L1TGlobalAnalyzer::types_
private

Definition at line 119 of file L1TGlobalAnalyzer.cc.

Referenced by beginJob(), and L1TGlobalAnalyzer().

◆ typeStr_

std::vector<std::string> l1t::L1TGlobalAnalyzer::typeStr_
private

Definition at line 120 of file L1TGlobalAnalyzer.cc.

Referenced by beginJob(), and L1TGlobalAnalyzer().