CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
L1TObjectsTiming Class Reference

#include <L1TObjectsTiming.h>

Inheritance diagram for L1TObjectsTiming:
DQMEDAnalyzer edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 L1TObjectsTiming (const edm::ParameterSet &ps)
 
 ~L1TObjectsTiming () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)=0
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) 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
 
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::vector< ModuleDescription const * > &modules, 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
 
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::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Protected Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &) override
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
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<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)
 

Private Attributes

int algoBitFirstBxInTrain_
 
int algoBitIsoBx_
 
int algoBitLastBxInTrain_
 
const std::string algoNameFirstBxInTrain_
 
const std::string algoNameIsoBx_
 
const std::string algoNameLastBxInTrain_
 
const unsigned int bxrange_
 
MonitorElementdenominator_egamma
 
std::vector< MonitorElement * > denominator_egamma_firstbunch
 
std::vector< MonitorElement * > denominator_egamma_isolated
 
std::vector< MonitorElement * > denominator_egamma_lastbunch
 
MonitorElementdenominator_etsum_firstbunch_MET
 
MonitorElementdenominator_etsum_firstbunch_METHF
 
MonitorElementdenominator_etsum_firstbunch_MHT
 
MonitorElementdenominator_etsum_firstbunch_MHTHF
 
MonitorElementdenominator_etsum_isolated_MET
 
MonitorElementdenominator_etsum_isolated_METHF
 
MonitorElementdenominator_etsum_isolated_MHT
 
MonitorElementdenominator_etsum_isolated_MHTHF
 
MonitorElementdenominator_etsum_lastbunch_MET
 
MonitorElementdenominator_etsum_lastbunch_METHF
 
MonitorElementdenominator_etsum_lastbunch_MHT
 
MonitorElementdenominator_etsum_lastbunch_MHTHF
 
MonitorElementdenominator_etsum_MET
 
MonitorElementdenominator_etsum_METHF
 
MonitorElementdenominator_etsum_MHT
 
MonitorElementdenominator_etsum_MHTHF
 
MonitorElementdenominator_jet
 
MonitorElementdenominator_jet_firstbunch
 
MonitorElementdenominator_jet_isolated
 
MonitorElementdenominator_jet_lastbunch
 
MonitorElementdenominator_muons
 
MonitorElementdenominator_muons_firstbunch
 
MonitorElementdenominator_muons_isolated
 
MonitorElementdenominator_muons_lastbunch
 
MonitorElementdenominator_tau
 
MonitorElementdenominator_tau_firstbunch
 
MonitorElementdenominator_tau_isolated
 
MonitorElementdenominator_tau_lastbunch
 
std::vector< MonitorElement * > egamma_eta_phi
 
std::vector< std::vector< MonitorElement * > > egamma_eta_phi_firstbunch
 
std::vector< std::vector< MonitorElement * > > egamma_eta_phi_isolated
 
std::vector< std::vector< MonitorElement * > > egamma_eta_phi_lastbunch
 
std::vector< MonitorElement * > egamma_iso_bx_ieta_firstbunch
 
std::vector< MonitorElement * > egamma_iso_bx_ieta_isolated
 
std::vector< MonitorElement * > egamma_iso_bx_ieta_lastbunch
 
std::vector< MonitorElement * > egamma_noniso_bx_ieta_firstbunch
 
std::vector< MonitorElement * > egamma_noniso_bx_ieta_isolated
 
std::vector< MonitorElement * > egamma_noniso_bx_ieta_lastbunch
 
double egammaPtCut_
 
std::vector< double > egammaPtCuts_
 
std::vector< MonitorElement * > etsum_eta_phi_firstbunch
 
std::vector< MonitorElement * > etsum_eta_phi_MET
 
std::vector< MonitorElement * > etsum_eta_phi_MET_firstbunch
 
std::vector< MonitorElement * > etsum_eta_phi_MET_isolated
 
std::vector< MonitorElement * > etsum_eta_phi_MET_lastbunch
 
std::vector< MonitorElement * > etsum_eta_phi_METHF
 
std::vector< MonitorElement * > etsum_eta_phi_METHF_firstbunch
 
std::vector< MonitorElement * > etsum_eta_phi_METHF_isolated
 
std::vector< MonitorElement * > etsum_eta_phi_METHF_lastbunch
 
std::vector< MonitorElement * > etsum_eta_phi_MHT
 
std::vector< MonitorElement * > etsum_eta_phi_MHT_firstbunch
 
std::vector< MonitorElement * > etsum_eta_phi_MHT_isolated
 
std::vector< MonitorElement * > etsum_eta_phi_MHT_lastbunch
 
std::vector< MonitorElement * > etsum_eta_phi_MHTHF
 
std::vector< MonitorElement * > etsum_eta_phi_MHTHF_firstbunch
 
std::vector< MonitorElement * > etsum_eta_phi_MHTHF_isolated
 
std::vector< MonitorElement * > etsum_eta_phi_MHTHF_lastbunch
 
double etsumPtCut_
 
std::shared_ptr< l1t::L1TGlobalUtilgtUtil_
 
std::vector< MonitorElement * > jet_eta_phi
 
std::vector< MonitorElement * > jet_eta_phi_firstbunch
 
std::vector< MonitorElement * > jet_eta_phi_isolated
 
std::vector< MonitorElement * > jet_eta_phi_lastbunch
 
double jetPtCut_
 
edm::EDGetTokenT< GlobalAlgBlkBxCollectionl1tStage2uGtProducer_
 
std::string monitorDir_
 
double muonPtCut_
 
int muonQualCut_
 
std::vector< MonitorElement * > muons_eta_phi
 
std::vector< MonitorElement * > muons_eta_phi_firstbunch
 
std::vector< MonitorElement * > muons_eta_phi_isolated
 
std::vector< MonitorElement * > muons_eta_phi_lastbunch
 
edm::EDGetTokenT< l1t::EGammaBxCollectionstage2CaloLayer2EGammaToken_
 
edm::EDGetTokenT< l1t::EtSumBxCollectionstage2CaloLayer2EtSumToken_
 
edm::EDGetTokenT< l1t::JetBxCollectionstage2CaloLayer2JetToken_
 
edm::EDGetTokenT< l1t::TauBxCollectionstage2CaloLayer2TauToken_
 
std::vector< MonitorElement * > tau_eta_phi
 
std::vector< MonitorElement * > tau_eta_phi_firstbunch
 
std::vector< MonitorElement * > tau_eta_phi_isolated
 
std::vector< MonitorElement * > tau_eta_phi_lastbunch
 
double tauPtCut_
 
edm::EDGetTokenT< l1t::MuonBxCollectionugmtMuonToken_
 
unsigned int useAlgoDecision_
 
bool verbose_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 32 of file L1TObjectsTiming.h.

Constructor & Destructor Documentation

L1TObjectsTiming::L1TObjectsTiming ( const edm::ParameterSet ps)

Definition at line 3 of file L1TObjectsTiming.cc.

References egammaPtCut_, egammaPtCuts_, edm::ParameterSet::getUntrackedParameter(), AlCaHLTBitMon_QueryRunRegistry::string, and useAlgoDecision_.

4  : ugmtMuonToken_(consumes<l1t::MuonBxCollection>(ps.getParameter<edm::InputTag>("muonProducer"))),
6  consumes<l1t::JetBxCollection>(ps.getParameter<edm::InputTag>("stage2CaloLayer2JetProducer"))),
8  consumes<l1t::EGammaBxCollection>(ps.getParameter<edm::InputTag>("stage2CaloLayer2EGammaProducer"))),
10  consumes<l1t::TauBxCollection>(ps.getParameter<edm::InputTag>("stage2CaloLayer2TauProducer"))),
12  consumes<l1t::EtSumBxCollection>(ps.getParameter<edm::InputTag>("stage2CaloLayer2EtSumProducer"))),
13  l1tStage2uGtProducer_(consumes<GlobalAlgBlkBxCollection>(ps.getParameter<edm::InputTag>("ugtProducer"))),
15  verbose_(ps.getUntrackedParameter<bool>("verbose")),
18  *this,
19  ps.getParameter<edm::InputTag>("ugtProducer"),
20  ps.getParameter<edm::InputTag>("ugtProducer"))),
23  algoBitIsoBx_(-1),
24  algoNameFirstBxInTrain_(ps.getUntrackedParameter<std::string>("firstBXInTrainAlgo", "")),
25  algoNameLastBxInTrain_(ps.getUntrackedParameter<std::string>("lastBXInTrainAlgo", "")),
26  algoNameIsoBx_(ps.getUntrackedParameter<std::string>("isoBXAlgo", "")),
27  bxrange_(5),
28  egammaPtCuts_(ps.getUntrackedParameter<std::vector<double>>("egammaPtCuts")),
29  jetPtCut_(ps.getUntrackedParameter<double>("jetPtCut")),
30  egammaPtCut_(0.),
31  tauPtCut_(ps.getUntrackedParameter<double>("tauPtCut")),
32  etsumPtCut_(ps.getUntrackedParameter<double>("etsumPtCut")),
33  muonPtCut_(ps.getUntrackedParameter<double>("muonPtCut")),
34  muonQualCut_(ps.getUntrackedParameter<int>("muonQualCut")) {
35  if (ps.getUntrackedParameter<std::string>("useAlgoDecision").find("final") == 0) {
36  useAlgoDecision_ = 2;
37  } else if (ps.getUntrackedParameter<std::string>("useAlgoDecision").find("intermediate") == 0) {
38  useAlgoDecision_ = 1;
39  } else {
40  useAlgoDecision_ = 0;
41  }
42 
43  // Take the first element of the cuts vector as the one to use for the all bunches histograms
44  if (not egammaPtCuts_.empty()) {
46  }
47 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< l1t::EGammaBxCollection > stage2CaloLayer2EGammaToken_
edm::EDGetTokenT< GlobalAlgBlkBxCollection > l1tStage2uGtProducer_
const unsigned int bxrange_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
edm::EDGetTokenT< l1t::MuonBxCollection > ugmtMuonToken_
const std::string algoNameIsoBx_
edm::EDGetTokenT< l1t::EtSumBxCollection > stage2CaloLayer2EtSumToken_
unsigned int useAlgoDecision_
edm::EDGetTokenT< l1t::JetBxCollection > stage2CaloLayer2JetToken_
edm::EDGetTokenT< l1t::TauBxCollection > stage2CaloLayer2TauToken_
std::string monitorDir_
std::vector< double > egammaPtCuts_
const std::string algoNameLastBxInTrain_
const std::string algoNameFirstBxInTrain_
std::shared_ptr< l1t::L1TGlobalUtil > gtUtil_
L1TObjectsTiming::~L1TObjectsTiming ( )
override

Definition at line 49 of file L1TObjectsTiming.cc.

49 {}

Member Function Documentation

void L1TObjectsTiming::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotected

Definition at line 786 of file L1TObjectsTiming.cc.

References algoBitFirstBxInTrain_, algoBitIsoBx_, algoBitLastBxInTrain_, BXVector< T >::begin(), l1GtPatternGenerator_cfi::bx, bxrange_, denominator_egamma, denominator_egamma_firstbunch, denominator_egamma_isolated, denominator_egamma_lastbunch, denominator_etsum_firstbunch_MET, denominator_etsum_firstbunch_METHF, denominator_etsum_firstbunch_MHT, denominator_etsum_firstbunch_MHTHF, denominator_etsum_isolated_MET, denominator_etsum_isolated_METHF, denominator_etsum_isolated_MHT, denominator_etsum_isolated_MHTHF, denominator_etsum_lastbunch_MET, denominator_etsum_lastbunch_METHF, denominator_etsum_lastbunch_MHT, denominator_etsum_lastbunch_MHTHF, denominator_etsum_MET, denominator_etsum_METHF, denominator_etsum_MHT, denominator_etsum_MHTHF, denominator_jet, denominator_jet_firstbunch, denominator_jet_isolated, denominator_jet_lastbunch, denominator_muons, denominator_muons_firstbunch, denominator_muons_isolated, denominator_muons_lastbunch, denominator_tau, denominator_tau_firstbunch, denominator_tau_isolated, denominator_tau_lastbunch, egamma_eta_phi, egamma_eta_phi_firstbunch, egamma_eta_phi_isolated, egamma_eta_phi_lastbunch, egamma_iso_bx_ieta_firstbunch, egamma_iso_bx_ieta_isolated, egamma_iso_bx_ieta_lastbunch, egamma_noniso_bx_ieta_firstbunch, egamma_noniso_bx_ieta_isolated, egamma_noniso_bx_ieta_lastbunch, egammaPtCut_, egammaPtCuts_, BXVector< T >::end(), etsum_eta_phi_MET, etsum_eta_phi_MET_firstbunch, etsum_eta_phi_MET_isolated, etsum_eta_phi_MET_lastbunch, etsum_eta_phi_METHF, etsum_eta_phi_METHF_firstbunch, etsum_eta_phi_METHF_isolated, etsum_eta_phi_METHF_lastbunch, etsum_eta_phi_MHT, etsum_eta_phi_MHT_firstbunch, etsum_eta_phi_MHT_isolated, etsum_eta_phi_MHT_lastbunch, etsum_eta_phi_MHTHF, etsum_eta_phi_MHTHF_firstbunch, etsum_eta_phi_MHTHF_isolated, etsum_eta_phi_MHTHF_lastbunch, etsumPtCut_, dqm::impl::MonitorElement::Fill(), edm::Event::getByToken(), BXVector< T >::getFirstBX(), BXVector< T >::getLastBX(), mps_fire::i, createfilelist::int, metsig::jet, jet_eta_phi, jet_eta_phi_firstbunch, jet_eta_phi_isolated, jet_eta_phi_lastbunch, jetPtCut_, L1Analysis::kMissingEt, L1Analysis::kMissingEtHF, L1Analysis::kMissingHt, L1Analysis::kMissingHtHF, l1tStage2uGtProducer_, SiStripPI::max, min(), dumpRecoGeometry_cfg::Muon, HLT_2018_cff::muon, muonPtCut_, muonQualCut_, muons_eta_phi, muons_eta_phi_firstbunch, muons_eta_phi_isolated, muons_eta_phi_lastbunch, stage2CaloLayer2EGammaToken_, stage2CaloLayer2EtSumToken_, stage2CaloLayer2JetToken_, stage2CaloLayer2TauToken_, metsig::tau, tau_eta_phi, tau_eta_phi_firstbunch, tau_eta_phi_isolated, tau_eta_phi_lastbunch, tauPtCut_, ugmtMuonToken_, useAlgoDecision_, and verbose_.

786  {
787  if (verbose_)
788  edm::LogInfo("L1TObjectsTiming") << "L1TObjectsTiming: analyze..." << std::endl;
789 
790  // Muon Collection
792  e.getByToken(ugmtMuonToken_, MuonBxCollection);
793  // Jet Collection
795  e.getByToken(stage2CaloLayer2JetToken_, JetBxCollection);
796  // EGamma Collection
798  e.getByToken(stage2CaloLayer2EGammaToken_, EGammaBxCollection);
799  // Tau Collection
801  e.getByToken(stage2CaloLayer2TauToken_, TauBxCollection);
802  // EtSum Collection
804  e.getByToken(stage2CaloLayer2EtSumToken_, EtSumBxCollection);
805 
806  // Open uGT readout record
808  e.getByToken(l1tStage2uGtProducer_, uGtAlgs);
809 
810  // Filling eta-phi map for muons for BX=-2,-1,0,+1,+2
811  for (int itBX = MuonBxCollection->getFirstBX(); itBX <= MuonBxCollection->getLastBX(); ++itBX) {
812  for (l1t::MuonBxCollection::const_iterator Muon = MuonBxCollection->begin(itBX);
813  Muon != MuonBxCollection->end(itBX);
814  ++Muon) {
815  if (Muon->pt() >= muonPtCut_ and Muon->hwQual() >= muonQualCut_) {
816  denominator_muons->Fill(Muon->eta(), Muon->phi());
817  // the correlation from itBX to respective index of the vector
818  int index = (int)itBX - std::min(0, 1 - (int)bxrange_ % 2 - (int)std::floor(bxrange_ / 2.));
819  muons_eta_phi.at(index)->Fill(Muon->eta(), Muon->phi());
820  }
821  }
822  }
823 
824  // Filling eta-phi map for jets for BX=-2,-1,0,+1,+2
825  for (int itBX = JetBxCollection->getFirstBX(); itBX <= JetBxCollection->getLastBX(); ++itBX) {
826  for (l1t::JetBxCollection::const_iterator jet = JetBxCollection->begin(itBX); jet != JetBxCollection->end(itBX);
827  ++jet) {
828  if (jet->pt() >= jetPtCut_) {
829  denominator_jet->Fill(jet->eta(), jet->phi());
830  int index =
831  itBX - std::min(0,
832  1 - (int)bxrange_ % 2 -
833  (int)std::floor(bxrange_ /
834  2.)); // the correlation from itBX to respective index of the vector
835  jet_eta_phi.at(index)->Fill(jet->eta(), jet->phi());
836  }
837  }
838  }
839 
840  // Filling eta-phi map for egamma for BX=-2,-1,0,+1,+2
841  for (int itBX = EGammaBxCollection->getFirstBX(); itBX <= EGammaBxCollection->getLastBX(); ++itBX) {
842  for (l1t::EGammaBxCollection::const_iterator egamma = EGammaBxCollection->begin(itBX);
843  egamma != EGammaBxCollection->end(itBX);
844  ++egamma) {
845  if (egamma->pt() >= egammaPtCut_) {
846  denominator_egamma->Fill(egamma->eta(), egamma->phi());
847  int index =
848  itBX - std::min(0,
849  1 - (int)bxrange_ % 2 -
850  (int)std::floor(bxrange_ /
851  2.)); // the correlation from itBX to respective index of the vector
852  egamma_eta_phi.at(index)->Fill(egamma->eta(), egamma->phi());
853  }
854  }
855  }
856 
857  // Filling eta-phi map for tau for BX=-2,-1,0,+1,+2
858  for (int itBX = TauBxCollection->getFirstBX(); itBX <= TauBxCollection->getLastBX(); ++itBX) {
859  for (l1t::TauBxCollection::const_iterator tau = TauBxCollection->begin(itBX); tau != TauBxCollection->end(itBX);
860  ++tau) {
861  if (tau->pt() >= tauPtCut_) {
862  denominator_tau->Fill(tau->eta(), tau->phi());
863  int index =
864  itBX - std::min(0,
865  1 - (int)bxrange_ % 2 -
866  (int)std::floor(bxrange_ /
867  2.)); // the correlation from itBX to respective index of the vector
868  tau_eta_phi.at(index)->Fill(tau->eta(), tau->phi());
869  }
870  }
871  }
872 
873  // Filling eta-phi map for etsum for BX=-2,-1,0,+1,+2
874  for (int itBX = EtSumBxCollection->getFirstBX(); itBX <= EtSumBxCollection->getLastBX(); ++itBX) {
875  for (l1t::EtSumBxCollection::const_iterator EtSum = EtSumBxCollection->begin(itBX);
876  EtSum != EtSumBxCollection->end(itBX);
877  ++EtSum) {
878  if (EtSum->pt() >= etsumPtCut_) {
879  int index =
880  itBX - std::min(0,
881  1 - (int)bxrange_ % 2 -
882  (int)std::floor(bxrange_ /
883  2.)); // the correlation from itBX to respective index of the vector
884  if (l1t::EtSum::EtSumType::kMissingEt == EtSum->getType()) {
885  etsum_eta_phi_MET.at(index)->Fill(EtSum->phi());
886  denominator_etsum_MET->Fill(EtSum->phi());
887  } else if (l1t::EtSum::EtSumType::kMissingEtHF == EtSum->getType()) {
888  etsum_eta_phi_METHF.at(index)->Fill(EtSum->phi());
889  denominator_etsum_METHF->Fill(EtSum->phi());
890 
891  } else if (l1t::EtSum::EtSumType::kMissingHt == EtSum->getType()) {
892  etsum_eta_phi_MHT.at(index)->Fill(EtSum->phi());
893  denominator_etsum_MHT->Fill(EtSum->phi());
894 
895  } else if (l1t::EtSum::EtSumType::kMissingHtHF == EtSum->getType()) {
896  etsum_eta_phi_MHTHF.at(index)->Fill(EtSum->phi());
897  denominator_etsum_MHTHF->Fill(EtSum->phi());
898  }
899  }
900  }
901  }
902 
903  // Find out in which BX the first collision in train, isolated bunch, and last collision in train have fired.
904  // In case of pre firing it will be in BX 1 or BX 2 and this will determine the BX shift that
905  // will be applied to the timing histogram later.
906  int bxShiftFirst = -999;
907  int bxShiftIso = -999;
908  int bxShiftLast = -999;
909  for (int bx = uGtAlgs->getFirstBX(); bx <= uGtAlgs->getLastBX(); ++bx) {
910  for (GlobalAlgBlkBxCollection::const_iterator itr = uGtAlgs->begin(bx); itr != uGtAlgs->end(bx); ++itr) {
911  // first bunch in train
912  if (algoBitFirstBxInTrain_ != -1) {
913  bool bit = false;
914  switch (useAlgoDecision_) {
915  case 0:
916  bit = itr->getAlgoDecisionInitial(algoBitFirstBxInTrain_);
917  break;
918  case 1:
919  bit = itr->getAlgoDecisionInterm(algoBitFirstBxInTrain_);
920  break;
921  case 2:
922  bit = itr->getAlgoDecisionFinal(algoBitFirstBxInTrain_);
923  break;
924  }
925  if (bit) {
926  bxShiftFirst = bx;
927  }
928  }
929  // last bunch in train
930  if (algoBitLastBxInTrain_ != -1) {
931  bool bit = false;
932  switch (useAlgoDecision_) {
933  case 0:
934  bit = itr->getAlgoDecisionInitial(algoBitLastBxInTrain_);
935  break;
936  case 1:
937  bit = itr->getAlgoDecisionInterm(algoBitLastBxInTrain_);
938  break;
939  case 2:
940  bit = itr->getAlgoDecisionFinal(algoBitLastBxInTrain_);
941  break;
942  }
943  if (bit) {
944  bxShiftLast = bx;
945  }
946  }
947  // isolated bunch
948  if (algoBitIsoBx_ != -1) {
949  bool bit = false;
950  switch (useAlgoDecision_) {
951  case 0:
952  bit = itr->getAlgoDecisionInitial(algoBitIsoBx_);
953  break;
954  case 1:
955  bit = itr->getAlgoDecisionInterm(algoBitIsoBx_);
956  break;
957  case 2:
958  bit = itr->getAlgoDecisionFinal(algoBitIsoBx_);
959  break;
960  }
961  if (bit) {
962  bxShiftIso = bx;
963  }
964  }
965  }
966  }
967 
968  // fill the first bunch in train maps
969  if (bxShiftFirst > -999) {
970  // muons
971  for (int itBX = std::max(MuonBxCollection->getFirstBX(), MuonBxCollection->getFirstBX() + bxShiftFirst);
972  itBX <= std::min(MuonBxCollection->getLastBX(), MuonBxCollection->getLastBX() + bxShiftFirst);
973  ++itBX) {
974  int index = itBX - bxShiftFirst - uGtAlgs->getFirstBX();
975  if (index >= 0 and index < (int)muons_eta_phi_firstbunch.size()) {
976  for (l1t::MuonBxCollection::const_iterator muon = MuonBxCollection->begin(itBX);
977  muon != MuonBxCollection->end(itBX);
978  ++muon) { // Starting with Muons
979  if (muon->pt() >= muonPtCut_ and muon->hwQual() >= muonQualCut_) {
980  denominator_muons_firstbunch->Fill(muon->eta(), muon->phi());
981  muons_eta_phi_firstbunch.at(index)->Fill(muon->eta(), muon->phi());
982  }
983  }
984  }
985  }
986  // jets
987  for (int itBX = std::max(JetBxCollection->getFirstBX(), JetBxCollection->getFirstBX() + bxShiftFirst);
988  itBX <= std::min(JetBxCollection->getLastBX(), JetBxCollection->getLastBX() + bxShiftFirst);
989  ++itBX) {
990  int index = itBX - bxShiftFirst - uGtAlgs->getFirstBX();
991  if (index >= 0 and index < (int)jet_eta_phi_firstbunch.size()) {
992  for (l1t::JetBxCollection::const_iterator jet = JetBxCollection->begin(itBX); jet != JetBxCollection->end(itBX);
993  ++jet) {
994  if (jet->pt() >= jetPtCut_) {
995  denominator_jet_firstbunch->Fill(jet->eta(), jet->phi());
996  jet_eta_phi_firstbunch.at(index)->Fill(jet->eta(), jet->phi());
997  }
998  }
999  }
1000  }
1001  // egammas
1002  for (int itBX = std::max(EGammaBxCollection->getFirstBX(), EGammaBxCollection->getFirstBX() + bxShiftFirst);
1003  itBX <= std::min(EGammaBxCollection->getLastBX(), EGammaBxCollection->getLastBX() + bxShiftFirst);
1004  ++itBX) {
1005  int index = itBX - bxShiftFirst - uGtAlgs->getFirstBX();
1006  for (l1t::EGammaBxCollection::const_iterator egamma = EGammaBxCollection->begin(itBX);
1007  egamma != EGammaBxCollection->end(itBX);
1008  ++egamma) {
1009  for (size_t i = 0; i < egammaPtCuts_.size(); ++i) {
1010  if (egamma->pt() >= egammaPtCuts_.at(i)) {
1011  if (index >= 0 and index < (int)egamma_eta_phi_firstbunch.size()) {
1012  denominator_egamma_firstbunch.at(i)->Fill(egamma->eta(), egamma->phi());
1013  egamma_eta_phi_firstbunch.at(i).at(index)->Fill(egamma->eta(), egamma->phi());
1014  }
1015  if ((bool)egamma->hwIso()) {
1016  egamma_iso_bx_ieta_firstbunch.at(i)->Fill(itBX - bxShiftFirst, egamma->hwEta());
1017  }
1018  egamma_noniso_bx_ieta_firstbunch.at(i)->Fill(itBX - bxShiftFirst, egamma->hwEta());
1019  }
1020  }
1021  }
1022  }
1023  // taus
1024  for (int itBX = std::max(TauBxCollection->getFirstBX(), TauBxCollection->getFirstBX() + bxShiftFirst);
1025  itBX <= std::min(TauBxCollection->getLastBX(), TauBxCollection->getLastBX() + bxShiftFirst);
1026  ++itBX) {
1027  int index = itBX - bxShiftFirst - uGtAlgs->getFirstBX();
1028  if (index >= 0 and index < (int)tau_eta_phi_firstbunch.size()) {
1029  for (l1t::TauBxCollection::const_iterator tau = TauBxCollection->begin(itBX); tau != TauBxCollection->end(itBX);
1030  ++tau) {
1031  if (tau->pt() >= tauPtCut_) {
1032  denominator_tau_firstbunch->Fill(tau->eta(), tau->phi());
1033  tau_eta_phi_firstbunch.at(index)->Fill(tau->eta(), tau->phi());
1034  }
1035  }
1036  }
1037  }
1038  // etsums
1039  for (int itBX = std::max(EtSumBxCollection->getFirstBX(), EtSumBxCollection->getFirstBX() + bxShiftFirst);
1040  itBX <= std::min(EtSumBxCollection->getLastBX(), EtSumBxCollection->getLastBX() + bxShiftFirst);
1041  ++itBX) {
1042  int index = itBX - bxShiftFirst - uGtAlgs->getFirstBX();
1043  if (index >= 0) {
1044  for (l1t::EtSumBxCollection::const_iterator EtSum = EtSumBxCollection->begin(itBX);
1045  EtSum != EtSumBxCollection->end(itBX);
1046  ++EtSum) {
1047  if (EtSum->pt() >= etsumPtCut_) {
1048  if (l1t::EtSum::EtSumType::kMissingEt == EtSum->getType()) {
1049  if (index < (int)etsum_eta_phi_MET_firstbunch.size()) {
1050  denominator_etsum_firstbunch_MET->Fill(EtSum->phi());
1051  etsum_eta_phi_MET_firstbunch.at(index)->Fill(EtSum->phi());
1052  }
1053  } else if (l1t::EtSum::EtSumType::kMissingEtHF == EtSum->getType()) {
1054  if (index < (int)etsum_eta_phi_METHF_firstbunch.size()) {
1056  etsum_eta_phi_METHF_firstbunch.at(index)->Fill(EtSum->phi());
1057  }
1058  } else if (l1t::EtSum::EtSumType::kMissingHt == EtSum->getType()) {
1059  if (index < (int)etsum_eta_phi_MHT_firstbunch.size()) {
1060  denominator_etsum_firstbunch_MHT->Fill(EtSum->phi());
1061  etsum_eta_phi_MHT_firstbunch.at(index)->Fill(EtSum->phi());
1062  }
1063  } else if (l1t::EtSum::EtSumType::kMissingHtHF == EtSum->getType()) {
1064  if (index < (int)etsum_eta_phi_MHTHF_firstbunch.size()) {
1066  etsum_eta_phi_MHTHF_firstbunch.at(index)->Fill(EtSum->phi());
1067  }
1068  }
1069  }
1070  }
1071  }
1072  }
1073  }
1074 
1075  // fill the last bunch in train maps
1076  if (bxShiftLast > -999) {
1077  // muons
1078  for (int itBX = std::max(MuonBxCollection->getFirstBX(), MuonBxCollection->getFirstBX() + bxShiftLast);
1079  itBX <= std::min(MuonBxCollection->getLastBX(), MuonBxCollection->getLastBX() + bxShiftLast);
1080  ++itBX) {
1081  auto correctedBx = itBX - bxShiftLast;
1082  if (correctedBx >= 0 and correctedBx < (int)muons_eta_phi_lastbunch.size()) {
1083  for (l1t::MuonBxCollection::const_iterator muon = MuonBxCollection->begin(itBX);
1084  muon != MuonBxCollection->end(itBX);
1085  ++muon) { // Starting with Muons
1086  if (muon->pt() >= muonPtCut_ and muon->hwQual() >= muonQualCut_) {
1087  denominator_muons_lastbunch->Fill(muon->eta(), muon->phi());
1088  muons_eta_phi_lastbunch.at(correctedBx)->Fill(muon->eta(), muon->phi());
1089  }
1090  }
1091  }
1092  }
1093  // jets
1094  for (int itBX = std::max(JetBxCollection->getFirstBX(), JetBxCollection->getFirstBX() + bxShiftLast);
1095  itBX <= std::min(JetBxCollection->getLastBX(), JetBxCollection->getLastBX() + bxShiftLast);
1096  ++itBX) {
1097  auto correctedBx = itBX - bxShiftLast;
1098  if (correctedBx >= 0 and correctedBx < (int)jet_eta_phi_lastbunch.size()) {
1099  for (l1t::JetBxCollection::const_iterator jet = JetBxCollection->begin(itBX); jet != JetBxCollection->end(itBX);
1100  ++jet) {
1101  if (jet->pt() >= jetPtCut_) {
1102  denominator_jet_lastbunch->Fill(jet->eta(), jet->phi());
1103  jet_eta_phi_lastbunch.at(correctedBx)->Fill(jet->eta(), jet->phi());
1104  }
1105  }
1106  }
1107  }
1108  // egammas
1109  for (int itBX = std::max(EGammaBxCollection->getFirstBX(), EGammaBxCollection->getFirstBX() + bxShiftLast);
1110  itBX <= std::min(EGammaBxCollection->getLastBX(), EGammaBxCollection->getLastBX() + bxShiftLast);
1111  ++itBX) {
1112  auto correctedBx = itBX - bxShiftLast;
1113  for (l1t::EGammaBxCollection::const_iterator egamma = EGammaBxCollection->begin(itBX);
1114  egamma != EGammaBxCollection->end(itBX);
1115  ++egamma) {
1116  for (size_t i = 0; i < egammaPtCuts_.size(); ++i) {
1117  if (egamma->pt() >= egammaPtCuts_.at(i)) {
1118  if (correctedBx >= 0 and correctedBx < (int)egamma_eta_phi_lastbunch.size()) {
1119  denominator_egamma_lastbunch.at(i)->Fill(egamma->eta(), egamma->phi());
1120  egamma_eta_phi_lastbunch.at(i).at(correctedBx)->Fill(egamma->eta(), egamma->phi());
1121  }
1122  if ((bool)egamma->hwIso()) {
1123  egamma_iso_bx_ieta_lastbunch.at(i)->Fill(correctedBx, egamma->hwEta());
1124  }
1125  egamma_noniso_bx_ieta_lastbunch.at(i)->Fill(correctedBx, egamma->hwEta());
1126  }
1127  }
1128  }
1129  }
1130  // taus
1131  for (int itBX = std::max(TauBxCollection->getFirstBX(), TauBxCollection->getFirstBX() + bxShiftLast);
1132  itBX <= std::min(TauBxCollection->getLastBX(), TauBxCollection->getLastBX() + bxShiftLast);
1133  ++itBX) {
1134  auto correctedBx = itBX - bxShiftLast;
1135  if (correctedBx >= 0 and correctedBx < (int)tau_eta_phi_lastbunch.size()) {
1136  for (l1t::TauBxCollection::const_iterator tau = TauBxCollection->begin(itBX); tau != TauBxCollection->end(itBX);
1137  ++tau) {
1138  if (tau->pt() >= tauPtCut_) {
1139  denominator_tau_lastbunch->Fill(tau->eta(), tau->phi());
1140  tau_eta_phi_lastbunch.at(correctedBx)->Fill(tau->eta(), tau->phi());
1141  }
1142  }
1143  }
1144  }
1145  // etsums
1146  for (int itBX = std::max(EtSumBxCollection->getFirstBX(), EtSumBxCollection->getFirstBX() + bxShiftLast);
1147  itBX <= std::min(EtSumBxCollection->getLastBX(), EtSumBxCollection->getLastBX() + bxShiftLast);
1148  ++itBX) {
1149  auto correctedBx = itBX - bxShiftLast;
1150  if (correctedBx >= 0) {
1151  for (l1t::EtSumBxCollection::const_iterator EtSum = EtSumBxCollection->begin(itBX);
1152  EtSum != EtSumBxCollection->end(itBX);
1153  ++EtSum) {
1154  if (EtSum->pt() >= etsumPtCut_) {
1155  if (l1t::EtSum::EtSumType::kMissingEt == EtSum->getType()) {
1156  if (correctedBx < (int)etsum_eta_phi_MET_lastbunch.size()) {
1157  denominator_etsum_lastbunch_MET->Fill(EtSum->phi());
1158  etsum_eta_phi_MET_lastbunch.at(correctedBx)->Fill(EtSum->phi());
1159  }
1160  } else if (l1t::EtSum::EtSumType::kMissingEtHF == EtSum->getType()) {
1161  if (correctedBx < (int)etsum_eta_phi_METHF_lastbunch.size()) {
1162  denominator_etsum_lastbunch_METHF->Fill(EtSum->phi());
1163  etsum_eta_phi_METHF_lastbunch.at(correctedBx)->Fill(EtSum->phi());
1164  }
1165  } else if (l1t::EtSum::EtSumType::kMissingHt == EtSum->getType()) {
1166  if (correctedBx < (int)etsum_eta_phi_MHT_lastbunch.size()) {
1167  denominator_etsum_lastbunch_MHT->Fill(EtSum->phi());
1168  etsum_eta_phi_MHT_lastbunch.at(correctedBx)->Fill(EtSum->phi());
1169  }
1170  } else if (l1t::EtSum::EtSumType::kMissingHtHF == EtSum->getType()) {
1171  if (correctedBx < (int)etsum_eta_phi_MHTHF_lastbunch.size()) {
1172  denominator_etsum_lastbunch_MHTHF->Fill(EtSum->phi());
1173  etsum_eta_phi_MHTHF_lastbunch.at(correctedBx)->Fill(EtSum->phi());
1174  }
1175  }
1176  }
1177  }
1178  }
1179  }
1180  }
1181 
1182  // fill the isolated bunch
1183  if (bxShiftIso > -999) {
1184  // muons
1185  for (int itBX = std::max(MuonBxCollection->getFirstBX(), MuonBxCollection->getFirstBX() + bxShiftIso);
1186  itBX <= std::min(MuonBxCollection->getLastBX(), MuonBxCollection->getLastBX() + bxShiftIso);
1187  ++itBX) {
1188  int index = itBX - bxShiftIso - uGtAlgs->getFirstBX();
1189  if (index >= 0 and index < (int)muons_eta_phi_isolated.size()) {
1190  for (l1t::MuonBxCollection::const_iterator muon = MuonBxCollection->begin(itBX);
1191  muon != MuonBxCollection->end(itBX);
1192  ++muon) { // Starting with Muons
1193  if (muon->pt() >= muonPtCut_ and muon->hwQual() >= muonQualCut_) {
1194  denominator_muons_isolated->Fill(muon->eta(), muon->phi());
1195  muons_eta_phi_isolated.at(index)->Fill(muon->eta(), muon->phi());
1196  }
1197  }
1198  }
1199  }
1200  // jets
1201  for (int itBX = std::max(JetBxCollection->getFirstBX(), JetBxCollection->getFirstBX() + bxShiftIso);
1202  itBX <= std::min(JetBxCollection->getLastBX(), JetBxCollection->getLastBX() + bxShiftIso);
1203  ++itBX) {
1204  int index = itBX - bxShiftIso - uGtAlgs->getFirstBX();
1205  if (index >= 0 and index < (int)jet_eta_phi_isolated.size()) {
1206  for (l1t::JetBxCollection::const_iterator jet = JetBxCollection->begin(itBX); jet != JetBxCollection->end(itBX);
1207  ++jet) {
1208  if (jet->pt() >= jetPtCut_) {
1209  denominator_jet_isolated->Fill(jet->eta(), jet->phi());
1210  jet_eta_phi_isolated.at(index)->Fill(jet->eta(), jet->phi());
1211  }
1212  }
1213  }
1214  }
1215  // egammas
1216  for (int itBX = std::max(EGammaBxCollection->getFirstBX(), EGammaBxCollection->getFirstBX() + bxShiftIso);
1217  itBX <= std::min(EGammaBxCollection->getLastBX(), EGammaBxCollection->getLastBX() + bxShiftIso);
1218  ++itBX) {
1219  int index = itBX - bxShiftIso - uGtAlgs->getFirstBX();
1220  for (l1t::EGammaBxCollection::const_iterator egamma = EGammaBxCollection->begin(itBX);
1221  egamma != EGammaBxCollection->end(itBX);
1222  ++egamma) {
1223  for (size_t i = 0; i < egammaPtCuts_.size(); ++i) {
1224  if (egamma->pt() >= egammaPtCuts_.at(i)) {
1225  if (index >= 0 and index < (int)egamma_eta_phi_isolated.size()) {
1226  denominator_egamma_isolated.at(i)->Fill(egamma->eta(), egamma->phi());
1227  egamma_eta_phi_isolated.at(i).at(index)->Fill(egamma->eta(), egamma->phi());
1228  }
1229  if ((bool)egamma->hwIso()) {
1230  egamma_iso_bx_ieta_isolated.at(i)->Fill(itBX - bxShiftIso, egamma->hwEta());
1231  }
1232  egamma_noniso_bx_ieta_isolated.at(i)->Fill(itBX - bxShiftIso, egamma->hwEta());
1233  }
1234  }
1235  }
1236  }
1237  // taus
1238  for (int itBX = std::max(TauBxCollection->getFirstBX(), TauBxCollection->getFirstBX() + bxShiftIso);
1239  itBX <= std::min(TauBxCollection->getLastBX(), TauBxCollection->getLastBX() + bxShiftIso);
1240  ++itBX) {
1241  int index = itBX - bxShiftIso - uGtAlgs->getFirstBX();
1242  if (index >= 0 and index < (int)tau_eta_phi_isolated.size()) {
1243  for (l1t::TauBxCollection::const_iterator tau = TauBxCollection->begin(itBX); tau != TauBxCollection->end(itBX);
1244  ++tau) {
1245  if (tau->pt() >= tauPtCut_) {
1246  denominator_tau_isolated->Fill(tau->eta(), tau->phi());
1247  tau_eta_phi_isolated.at(index)->Fill(tau->eta(), tau->phi());
1248  }
1249  }
1250  }
1251  }
1252  // etsums
1253  for (int itBX = std::max(EtSumBxCollection->getFirstBX(), EtSumBxCollection->getFirstBX() + bxShiftIso);
1254  itBX <= std::min(EtSumBxCollection->getLastBX(), EtSumBxCollection->getLastBX() + bxShiftIso);
1255  ++itBX) {
1256  int index = itBX - bxShiftIso - uGtAlgs->getFirstBX();
1257  if (index >= 0) {
1258  for (l1t::EtSumBxCollection::const_iterator EtSum = EtSumBxCollection->begin(itBX);
1259  EtSum != EtSumBxCollection->end(itBX);
1260  ++EtSum) {
1261  if (EtSum->pt() >= etsumPtCut_) {
1262  if (l1t::EtSum::EtSumType::kMissingEt == EtSum->getType()) {
1263  if (index < (int)etsum_eta_phi_MET_isolated.size()) {
1264  denominator_etsum_isolated_MET->Fill(EtSum->phi());
1265  etsum_eta_phi_MET_isolated.at(index)->Fill(EtSum->phi());
1266  }
1267  } else if (l1t::EtSum::EtSumType::kMissingEtHF == EtSum->getType()) {
1268  if (index < (int)etsum_eta_phi_METHF_isolated.size()) {
1269  denominator_etsum_isolated_METHF->Fill(EtSum->phi());
1270  etsum_eta_phi_METHF_isolated.at(index)->Fill(EtSum->phi());
1271  }
1272  } else if (l1t::EtSum::EtSumType::kMissingHt == EtSum->getType()) {
1273  if (index < (int)etsum_eta_phi_MHT_isolated.size()) {
1274  denominator_etsum_isolated_MHT->Fill(EtSum->phi());
1275  etsum_eta_phi_MHT_isolated.at(index)->Fill(EtSum->phi());
1276  }
1277  } else if (l1t::EtSum::EtSumType::kMissingHtHF == EtSum->getType()) {
1278  if (index < (int)etsum_eta_phi_MHTHF_isolated.size()) {
1279  denominator_etsum_isolated_MHTHF->Fill(EtSum->phi());
1280  etsum_eta_phi_MHTHF_isolated.at(index)->Fill(EtSum->phi());
1281  }
1282  }
1283  }
1284  }
1285  }
1286  }
1287  }
1288 }
MonitorElement * denominator_etsum_METHF
BXVector< EGamma > EGammaBxCollection
Definition: EGamma.h:10
const_iterator end(int bx) const
std::vector< MonitorElement * > jet_eta_phi_firstbunch
MonitorElement * denominator_etsum_lastbunch_MHT
edm::EDGetTokenT< l1t::EGammaBxCollection > stage2CaloLayer2EGammaToken_
MonitorElement * denominator_muons_isolated
edm::EDGetTokenT< GlobalAlgBlkBxCollection > l1tStage2uGtProducer_
std::vector< MonitorElement * > etsum_eta_phi_MET_isolated
std::vector< MonitorElement * > etsum_eta_phi_METHF_isolated
std::vector< MonitorElement * > muons_eta_phi_isolated
MonitorElement * denominator_etsum_MET
std::vector< MonitorElement * > egamma_eta_phi
std::vector< std::vector< MonitorElement * > > egamma_eta_phi_lastbunch
MonitorElement * denominator_etsum_isolated_MHTHF
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
MonitorElement * denominator_muons_firstbunch
std::vector< MonitorElement * > jet_eta_phi_lastbunch
std::vector< MonitorElement * > tau_eta_phi_lastbunch
std::vector< MonitorElement * > denominator_egamma_isolated
MonitorElement * denominator_etsum_MHT
const unsigned int bxrange_
BXVector< Tau > TauBxCollection
Definition: Tau.h:10
std::vector< MonitorElement * > etsum_eta_phi_MET_firstbunch
MonitorElement * denominator_etsum_isolated_METHF
std::vector< std::vector< MonitorElement * > > egamma_eta_phi_isolated
std::vector< MonitorElement * > egamma_iso_bx_ieta_firstbunch
MonitorElement * denominator_tau_isolated
std::vector< MonitorElement * > etsum_eta_phi_MHT_lastbunch
MonitorElement * denominator_etsum_firstbunch_MET
MonitorElement * denominator_etsum_firstbunch_MHT
void Fill(long long x)
std::vector< MonitorElement * > muons_eta_phi_lastbunch
MonitorElement * denominator_etsum_MHTHF
std::vector< MonitorElement * > etsum_eta_phi_MHT
std::vector< T >::const_iterator const_iterator
Definition: BXVector.h:18
BXVector< EtSum > EtSumBxCollection
Definition: EtSum.h:10
MonitorElement * denominator_egamma
std::vector< MonitorElement * > etsum_eta_phi_MET_lastbunch
Definition: Muon.py:1
std::vector< MonitorElement * > denominator_egamma_firstbunch
MonitorElement * denominator_tau_lastbunch
std::vector< MonitorElement * > jet_eta_phi
std::vector< MonitorElement * > etsum_eta_phi_METHF_firstbunch
std::vector< MonitorElement * > etsum_eta_phi_MHTHF_isolated
edm::EDGetTokenT< l1t::MuonBxCollection > ugmtMuonToken_
MonitorElement * denominator_tau_firstbunch
std::vector< std::vector< MonitorElement * > > egamma_eta_phi_firstbunch
MonitorElement * denominator_etsum_lastbunch_MHTHF
MonitorElement * denominator_muons
std::vector< MonitorElement * > muons_eta_phi_firstbunch
T min(T a, T b)
Definition: MathUtil.h:58
std::vector< MonitorElement * > egamma_noniso_bx_ieta_lastbunch
std::vector< MonitorElement * > etsum_eta_phi_MHTHF_lastbunch
edm::EDGetTokenT< l1t::EtSumBxCollection > stage2CaloLayer2EtSumToken_
unsigned int useAlgoDecision_
edm::EDGetTokenT< l1t::JetBxCollection > stage2CaloLayer2JetToken_
edm::EDGetTokenT< l1t::TauBxCollection > stage2CaloLayer2TauToken_
std::vector< MonitorElement * > egamma_noniso_bx_ieta_firstbunch
std::vector< MonitorElement * > tau_eta_phi_isolated
std::vector< MonitorElement * > etsum_eta_phi_METHF
std::vector< MonitorElement * > etsum_eta_phi_MHTHF
BXVector< Muon > MuonBxCollection
Definition: Muon.h:11
std::vector< MonitorElement * > etsum_eta_phi_MHTHF_firstbunch
std::vector< MonitorElement * > tau_eta_phi
int getFirstBX() const
BXVector< Jet > JetBxCollection
Definition: Jet.h:10
MonitorElement * denominator_etsum_firstbunch_METHF
MonitorElement * denominator_jet_lastbunch
MonitorElement * denominator_jet
std::vector< double > egammaPtCuts_
std::vector< MonitorElement * > egamma_noniso_bx_ieta_isolated
std::vector< MonitorElement * > etsum_eta_phi_MHT_isolated
std::vector< MonitorElement * > etsum_eta_phi_METHF_lastbunch
std::vector< MonitorElement * > egamma_iso_bx_ieta_lastbunch
MonitorElement * denominator_muons_lastbunch
std::vector< MonitorElement * > etsum_eta_phi_MET
MonitorElement * denominator_tau
std::vector< MonitorElement * > jet_eta_phi_isolated
std::vector< MonitorElement * > egamma_iso_bx_ieta_isolated
MonitorElement * denominator_etsum_isolated_MET
MonitorElement * denominator_etsum_firstbunch_MHTHF
int getLastBX() const
std::vector< MonitorElement * > denominator_egamma_lastbunch
std::vector< MonitorElement * > muons_eta_phi
MonitorElement * denominator_etsum_lastbunch_METHF
MonitorElement * denominator_etsum_isolated_MHT
std::vector< MonitorElement * > etsum_eta_phi_MHT_firstbunch
const_iterator begin(int bx) const
MonitorElement * denominator_jet_firstbunch
MonitorElement * denominator_jet_isolated
MonitorElement * denominator_etsum_lastbunch_MET
std::vector< MonitorElement * > tau_eta_phi_firstbunch
void L1TObjectsTiming::bookHistograms ( DQMStore::IBooker ibooker,
const edm::Run ,
const edm::EventSetup  
)
overrideprotected

Definition at line 100 of file L1TObjectsTiming.cc.

References algoBitFirstBxInTrain_, algoBitIsoBx_, algoBitLastBxInTrain_, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), bxrange_, denominator_egamma, denominator_egamma_firstbunch, denominator_egamma_isolated, denominator_egamma_lastbunch, denominator_etsum_firstbunch_MET, denominator_etsum_firstbunch_METHF, denominator_etsum_firstbunch_MHT, denominator_etsum_firstbunch_MHTHF, denominator_etsum_isolated_MET, denominator_etsum_isolated_METHF, denominator_etsum_isolated_MHT, denominator_etsum_isolated_MHTHF, denominator_etsum_lastbunch_MET, denominator_etsum_lastbunch_METHF, denominator_etsum_lastbunch_MHT, denominator_etsum_lastbunch_MHTHF, denominator_etsum_MET, denominator_etsum_METHF, denominator_etsum_MHT, denominator_etsum_MHTHF, denominator_jet, denominator_jet_firstbunch, denominator_jet_isolated, denominator_jet_lastbunch, denominator_muons, denominator_muons_firstbunch, denominator_muons_isolated, denominator_muons_lastbunch, denominator_tau, denominator_tau_firstbunch, denominator_tau_isolated, denominator_tau_lastbunch, egamma_eta_phi, egamma_eta_phi_firstbunch, egamma_eta_phi_isolated, egamma_eta_phi_lastbunch, egamma_iso_bx_ieta_firstbunch, egamma_iso_bx_ieta_isolated, egamma_iso_bx_ieta_lastbunch, egamma_noniso_bx_ieta_firstbunch, egamma_noniso_bx_ieta_isolated, egamma_noniso_bx_ieta_lastbunch, HLT_2018_cff::egammaPtCut, egammaPtCut_, egammaPtCuts_, etsum_eta_phi_MET, etsum_eta_phi_MET_firstbunch, etsum_eta_phi_MET_isolated, etsum_eta_phi_MET_lastbunch, etsum_eta_phi_METHF, etsum_eta_phi_METHF_firstbunch, etsum_eta_phi_METHF_isolated, etsum_eta_phi_METHF_lastbunch, etsum_eta_phi_MHT, etsum_eta_phi_MHT_firstbunch, etsum_eta_phi_MHT_isolated, etsum_eta_phi_MHT_lastbunch, etsum_eta_phi_MHTHF, etsum_eta_phi_MHTHF_firstbunch, etsum_eta_phi_MHTHF_isolated, etsum_eta_phi_MHTHF_lastbunch, etsumPtCut_, mps_fire::i, jet_eta_phi, jet_eta_phi_firstbunch, jet_eta_phi_isolated, jet_eta_phi_lastbunch, jetPtCut_, monitorDir_, muonPtCut_, muonQualCut_, muons_eta_phi, muons_eta_phi_firstbunch, muons_eta_phi_isolated, muons_eta_phi_lastbunch, python.rootplot.root2matplotlib::replace(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), tau_eta_phi, tau_eta_phi_firstbunch, tau_eta_phi_isolated, tau_eta_phi_lastbunch, and tauPtCut_.

100  {
101  std::array<std::string, 5> bx_obj{{"minus2", "minus1", "0", "plus1", "plus2"}};
102 
103  // generate cut value strings for the histogram titles
104  auto muonQualCutStr = std::to_string(muonQualCut_);
105  auto muonPtCutStr = std::to_string(muonPtCut_);
106  muonPtCutStr.resize(muonPtCutStr.size() - 5); // cut some decimal digits
107 
108  auto jetPtCutStr = std::to_string(jetPtCut_);
109  jetPtCutStr.resize(jetPtCutStr.size() - 5); // cut some decimal digits
110 
111  auto egammaPtCutStr = std::to_string(egammaPtCut_);
112  egammaPtCutStr.resize(egammaPtCutStr.size() - 5); // cut some decimal digits
113 
114  auto tauPtCutStr = std::to_string(tauPtCut_);
115  tauPtCutStr.resize(tauPtCutStr.size() - 5); // cut some decimal digits
116 
117  auto etsumPtCutStr = std::to_string(etsumPtCut_);
118  etsumPtCutStr.resize(etsumPtCutStr.size() - 5); // cut some decimal digits
119 
120  // all bunches
121  ibooker.setCurrentFolder(monitorDir_ + "/L1TMuon/timing");
122  for (unsigned int i = 0; i < bxrange_; ++i) {
123  muons_eta_phi.push_back(ibooker.book2D("muons_eta_phi_bx_" + bx_obj[i],
124  "L1T Muon p_{T}#geq" + muonPtCutStr + " GeV qual#geq" + muonQualCutStr +
125  " #eta vs #phi BX=" + bx_obj[i] + ";#eta;#phi",
126  25,
127  -2.5,
128  2.5,
129  25,
130  -3.2,
131  3.2));
132  }
133  denominator_muons = ibooker.book2D(
134  "denominator_muons",
135  "Denominator for L1T Muon p_{T}#geq" + muonPtCutStr + " GeV qual#geq" + muonQualCutStr + ";#eta;#phi",
136  25,
137  -2.5,
138  2.5,
139  25,
140  -3.2,
141  3.2);
142 
143  ibooker.setCurrentFolder(monitorDir_ + "/L1TJet/timing");
144  for (unsigned int i = 0; i < bxrange_; ++i) {
145  jet_eta_phi.push_back(
146  ibooker.book2D("jet_eta_phi_bx_" + bx_obj[i],
147  "L1T Jet p_{T}#geq" + jetPtCutStr + " GeV #eta vs #phi BX=" + bx_obj[i] + ";#eta;#phi",
148  50,
149  -5.,
150  5.,
151  25,
152  -3.2,
153  3.2));
154  }
155  denominator_jet = ibooker.book2D("denominator_jet",
156  "Denominator for L1T Jet p_{T}#geq" + jetPtCutStr + " GeV;#eta;#phi",
157  50,
158  -5.,
159  5.,
160  25,
161  -3.2,
162  3.2);
163 
164  ibooker.setCurrentFolder(monitorDir_ + "/L1TEGamma/timing");
165  for (unsigned int i = 0; i < bxrange_; ++i) {
166  egamma_eta_phi.push_back(
167  ibooker.book2D("egamma_eta_phi_bx_" + bx_obj[i],
168  "L1T EGamma p_{T}#geq" + egammaPtCutStr + " GeV #eta vs #phi BX=" + bx_obj[i] + ";#eta;#phi",
169  30,
170  -3.,
171  3.,
172  25,
173  -3.2,
174  3.2));
175  }
176  denominator_egamma = ibooker.book2D("denominator_egamma",
177  "Denominator for L1T EGamma p_{T}#geq" + egammaPtCutStr + " GeV;#eta;#phi",
178  30,
179  -3.,
180  3.,
181  25,
182  -3.2,
183  3.2);
184 
185  ibooker.setCurrentFolder(monitorDir_ + "/L1TTau/timing");
186  for (unsigned int i = 0; i < bxrange_; ++i) {
187  tau_eta_phi.push_back(
188  ibooker.book2D("tau_eta_phi_bx_" + bx_obj[i],
189  "L1T Tau p_{T}#geq" + tauPtCutStr + " GeV #eta vs #phi BX=" + bx_obj[i] + ";#eta;#phi",
190  30,
191  -3.,
192  3.,
193  25,
194  -3.2,
195  3.2));
196  }
197  denominator_tau = ibooker.book2D("denominator_tau",
198  "Denominator for L1T Tau p_{T}#geq" + tauPtCutStr + " GeV;#eta;#phi",
199  30,
200  -3.,
201  3.,
202  25,
203  -3.2,
204  3.2);
205 
206  ibooker.setCurrentFolder(monitorDir_ + "/L1TEtSum/timing");
207  for (unsigned int i = 0; i < bxrange_; ++i) {
208  etsum_eta_phi_MET.push_back(
209  ibooker.book1D("etsum_phi_bx_MET_" + bx_obj[i],
210  "L1T EtSum MET p_{T}#geq" + etsumPtCutStr + " GeV #phi BX=" + bx_obj[i] + ";#phi",
211  25,
212  -3.2,
213  3.2));
214  etsum_eta_phi_METHF.push_back(
215  ibooker.book1D("etsum_phi_bx_METHF_" + bx_obj[i],
216  "L1T EtSum METHF p_{T}#geq" + etsumPtCutStr + " GeV #phi BX=" + bx_obj[i] + ";#phi",
217  25,
218  -3.2,
219  3.2));
220  etsum_eta_phi_MHT.push_back(
221  ibooker.book1D("etsum_phi_bx_MHT_" + bx_obj[i],
222  "L1T EtSum MHT p_{T}#geq" + etsumPtCutStr + " GeV #phi BX=" + bx_obj[i] + ";#phi",
223  25,
224  -3.2,
225  3.2));
226  etsum_eta_phi_MHTHF.push_back(
227  ibooker.book1D("etsum_phi_bx_MHTHF_" + bx_obj[i],
228  "L1T EtSum MHTHF p_{T}#geq" + etsumPtCutStr + " GeV #phi BX=" + bx_obj[i] + ";#phi",
229  25,
230  -3.2,
231  3.2));
232  }
233  denominator_etsum_MET = ibooker.book1D(
234  "denominator_etsum_MET", "Denominator for L1T EtSum MET p_{T}#geq" + etsumPtCutStr + " GeV;#phi", 25, -3.2, 3.2);
235  denominator_etsum_METHF = ibooker.book1D("denominator_etsum_METHF",
236  "Denominator for L1T EtSum METHF p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
237  25,
238  -3.2,
239  3.2);
240  denominator_etsum_MHT = ibooker.book1D(
241  "denominator_etsum_MHT", "Denominator for L1T EtSum MHT p_{T}#geq" + etsumPtCutStr + " GeV;#phi", 25, -3.2, 3.2);
242  denominator_etsum_MHTHF = ibooker.book1D("denominator_etsum_MHTHF",
243  "Denominator for L1T EtSum MHTHF p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
244  25,
245  -3.2,
246  3.2);
247 
248  // isolated bunch
249  if (algoBitIsoBx_ > -1) {
250  ibooker.setCurrentFolder(monitorDir_ + "/L1TMuon/timing/Isolated_bunch");
251  for (unsigned int i = 0; i < bxrange_; ++i) {
252  muons_eta_phi_isolated.push_back(
253  ibooker.book2D("muons_eta_phi_bx_isolated_" + bx_obj[i],
254  "L1T Muon p_{T}#geq" + muonPtCutStr + " GeV qual#geq" + muonQualCutStr +
255  " #eta vs #phi for isolated bunch BX=" + bx_obj[i] + ";#eta;#phi",
256  25,
257  -2.5,
258  2.5,
259  25,
260  -3.2,
261  3.2));
262  }
263  denominator_muons_isolated = ibooker.book2D(
264  "denominator_muons_isolated",
265  "Denominator for Isolated Bunch for L1T Muon p_{T}#geq" + muonPtCutStr + " GeV qual#geq" + muonQualCutStr,
266  25,
267  -2.5,
268  2.5,
269  25,
270  -3.2,
271  3.2);
272 
273  ibooker.setCurrentFolder(monitorDir_ + "/L1TJet/timing/Isolated_bunch");
274  for (unsigned int i = 0; i < bxrange_; ++i) {
275  jet_eta_phi_isolated.push_back(ibooker.book2D(
276  "jet_eta_phi_bx_isolated_" + bx_obj[i],
277  "L1T Jet p_{T}#geq" + jetPtCutStr + " GeV #eta vs #phi for isolated bunch BX=" + bx_obj[i] + ";#eta;#phi",
278  50,
279  -5.,
280  5.,
281  25,
282  -3.2,
283  3.2));
284  }
286  ibooker.book2D("denominator_jet_isolated",
287  "Denominator for Isolated Bunch for L1T Jet p_{T}#geq" + jetPtCutStr + " GeV;#eta;#phi",
288  50,
289  -5.,
290  5.,
291  25,
292  -3.2,
293  3.2);
294 
295  for (const auto egammaPtCut : egammaPtCuts_) {
296  auto egammaPtCutStr = std::to_string(egammaPtCut);
297  egammaPtCutStr.resize(egammaPtCutStr.size() - 5); // cut some decimal digits
298  auto egammaPtCutStrAlpha = egammaPtCutStr;
299  std::replace(egammaPtCutStrAlpha.begin(),
300  egammaPtCutStrAlpha.end(),
301  '.',
302  'p'); // replace the decimal dot with a 'p' to please the DQMStore
303 
304  ibooker.setCurrentFolder(monitorDir_ + "/L1TEGamma/timing/Isolated_bunch/ptmin_" + egammaPtCutStrAlpha + "_gev");
305  std::vector<MonitorElement*> vHelper;
306  for (unsigned int i = 0; i < bxrange_; ++i) {
307  vHelper.push_back(ibooker.book2D("egamma_eta_phi_bx_isolated_" + bx_obj[i],
308  "L1T EGamma p_{T}#geq" + egammaPtCutStr +
309  " GeV #eta vs #phi for first bunch BX=" + bx_obj[i] + ";#eta;#phi",
310  30,
311  -3.,
312  3.,
313  25,
314  -3.2,
315  3.2));
316  }
317  egamma_eta_phi_isolated.push_back(vHelper);
318 
319  denominator_egamma_isolated.push_back(
320  ibooker.book2D("denominator_egamma_isolated",
321  "Denominator for Isolated Bunch for L1T EGamma p_{T}#geq" + egammaPtCutStr + " GeV;#eta;#phi",
322  30,
323  -3.,
324  3.,
325  25,
326  -3.2,
327  3.2));
328 
329  egamma_iso_bx_ieta_isolated.push_back(
330  ibooker.book2D("egamma_iso_bx_ieta_isolated_ptmin" + egammaPtCutStrAlpha,
331  "L1T EGamma iso with pT#geq" + egammaPtCutStr +
332  " GeV BX vs. i#eta for first bunch in train;BX in event (corrected);i#eta",
333  5,
334  -2.5,
335  2.5,
336  70,
337  -70,
338  70));
339 
341  ibooker.book2D("egamma_noniso_bx_ieta_isolated_ptmin" + egammaPtCutStrAlpha,
342  "L1T EGamma non iso with pT#geq" + egammaPtCutStr +
343  " GeV BX vs. i#eta for first bunch in train;BX in event (corrected);i#eta",
344  5,
345  -2.5,
346  2.5,
347  70,
348  -70,
349  70));
350  }
351 
352  ibooker.setCurrentFolder(monitorDir_ + "/L1TTau/timing/Isolated_bunch");
353  for (unsigned int i = 0; i < bxrange_; ++i) {
354  tau_eta_phi_isolated.push_back(ibooker.book2D(
355  "tau_eta_phi_bx_isolated_" + bx_obj[i],
356  "L1T Tau p_{T}#geq" + tauPtCutStr + " GeV #eta vs #phi for isolated bunch BX=" + bx_obj[i] + ";#eta;#phi",
357  30,
358  -3.,
359  3.,
360  25,
361  -3.2,
362  3.2));
363  }
365  ibooker.book2D("denominator_tau_isolated",
366  "Denominator for Isolated Bunch for L1T Tau p_{T}#geq" + tauPtCutStr + " GeV;#eta;#phi",
367  30,
368  -3.,
369  3.,
370  25,
371  -3.2,
372  3.2);
373 
374  ibooker.setCurrentFolder(monitorDir_ + "/L1TEtSum/timing/Isolated_bunch");
375  for (unsigned int i = 0; i < bxrange_; ++i) {
376  etsum_eta_phi_MET_isolated.push_back(ibooker.book1D(
377  "etsum_phi_bx_MET_isolated_" + bx_obj[i],
378  "L1T EtSum MET p_{T}#geq" + etsumPtCutStr + " GeV #phi for isolated bunch BX=" + bx_obj[i] + ";#phi",
379  25,
380  -3.2,
381  3.2));
382  etsum_eta_phi_METHF_isolated.push_back(ibooker.book1D(
383  "etsum_phi_bx_METHF_isolated_" + bx_obj[i],
384  "L1T EtSum METHF p_{T}#geq" + etsumPtCutStr + " GeV #phi for isolated bunch BX=" + bx_obj[i] + ";#phi",
385  25,
386  -3.2,
387  3.2));
388  etsum_eta_phi_MHT_isolated.push_back(ibooker.book1D(
389  "etsum_phi_bx_MHT_isolated_" + bx_obj[i],
390  "L1T EtSum MHT p_{T}#geq" + etsumPtCutStr + " GeV #phi for isolated bunch BX=" + bx_obj[i] + ";#phi",
391  25,
392  -3.2,
393  3.2));
394  etsum_eta_phi_MHTHF_isolated.push_back(ibooker.book1D(
395  "etsum_phi_bx_MHTHF_isolated_" + bx_obj[i],
396  "L1T EtSum MHTHF p_{T}#geq" + etsumPtCutStr + " GeV #phi for isolated bunch BX=" + bx_obj[i] + ";#phi",
397  25,
398  -3.2,
399  3.2));
400  }
402  ibooker.book1D("denominator_etsum_isolated_MET",
403  "Denominator for Isolated Bunch for L1T EtSum MET p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
404  25,
405  -3.2,
406  3.2);
408  ibooker.book1D("denominator_etsum_isolated_METHF",
409  "Denominator for Isolated Bunch for L1T EtSum METHF p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
410  25,
411  -3.2,
412  3.2);
414  ibooker.book1D("denominator_etsum_isolated_MHT",
415  "Denominator for Isolated Bunch for L1T EtSum MHT p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
416  25,
417  -3.2,
418  3.2);
420  ibooker.book1D("denominator_etsum_isolated_MHTHF",
421  "Denominator for Isolated Bunch for L1T EtSum MHTHF p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
422  25,
423  -3.2,
424  3.2);
425  }
426 
427  if (algoBitFirstBxInTrain_ > -1) {
428  // first bunch in train
429  ibooker.setCurrentFolder(monitorDir_ + "/L1TMuon/timing/First_bunch");
430  for (unsigned int i = 0; i < bxrange_ - 2; ++i) {
431  muons_eta_phi_firstbunch.push_back(
432  ibooker.book2D("muons_eta_phi_bx_firstbunch_" + bx_obj[i],
433  "L1T Muon p_{T}#geq" + muonPtCutStr + " GeV qual#geq" + muonQualCutStr +
434  " #eta vs #phi for first bunch BX=" + bx_obj[i] + ";#eta;#phi",
435  25,
436  -2.5,
437  2.5,
438  25,
439  -3.2,
440  3.2));
441  }
442  denominator_muons_firstbunch = ibooker.book2D(
443  "denominator_muons_firstbunch",
444  "Denominator for First Bunch for L1T Muon p_{T}#geq" + muonPtCutStr + " GeV qual#geq" + muonQualCutStr,
445  25,
446  -2.5,
447  2.5,
448  25,
449  -3.2,
450  3.2);
451 
452  ibooker.setCurrentFolder(monitorDir_ + "/L1TJet/timing/First_bunch");
453  for (unsigned int i = 0; i < bxrange_ - 2; ++i) {
454  jet_eta_phi_firstbunch.push_back(ibooker.book2D(
455  "jet_eta_phi_bx_firstbunch_" + bx_obj[i],
456  "L1T Jet p_{T}#geq" + jetPtCutStr + " GeV #eta vs #phi for first bunch BX=" + bx_obj[i] + ";#eta;#phi",
457  50,
458  -5.,
459  5.,
460  25,
461  -3.2,
462  3.2));
463  }
465  ibooker.book2D("denominator_jet_firstbunch",
466  "Denominator for First Bunch for L1T Jet p_{T}#geq" + jetPtCutStr + " GeV;#eta;#phi",
467  50,
468  -5.,
469  5.,
470  25,
471  -3.2,
472  3.2);
473 
474  for (const auto egammaPtCut : egammaPtCuts_) {
475  auto egammaPtCutStr = std::to_string(egammaPtCut);
476  egammaPtCutStr.resize(egammaPtCutStr.size() - 5); // cut some decimal digits
477  auto egammaPtCutStrAlpha = egammaPtCutStr;
478  std::replace(egammaPtCutStrAlpha.begin(),
479  egammaPtCutStrAlpha.end(),
480  '.',
481  'p'); // replace the decimal dot with a 'p' to please the DQMStore
482 
483  ibooker.setCurrentFolder(monitorDir_ + "/L1TEGamma/timing/First_bunch/ptmin_" + egammaPtCutStrAlpha + "_gev");
484  std::vector<MonitorElement*> vHelper;
485  for (unsigned int i = 0; i < bxrange_ - 2; ++i) {
486  vHelper.push_back(ibooker.book2D("egamma_eta_phi_bx_firstbunch_" + bx_obj[i],
487  "L1T EGamma p_{T}#geq" + egammaPtCutStr +
488  " GeV #eta vs #phi for first bunch BX=" + bx_obj[i] + ";#eta;#phi",
489  30,
490  -3.,
491  3.,
492  25,
493  -3.2,
494  3.2));
495  }
496  egamma_eta_phi_firstbunch.push_back(vHelper);
497 
499  ibooker.book2D("denominator_egamma_firstbunch",
500  "Denominator for First Bunch for L1T EGamma p_{T}#geq" + egammaPtCutStr + " GeV;#eta;#phi",
501  30,
502  -3.,
503  3.,
504  25,
505  -3.2,
506  3.2));
507 
509  ibooker.book2D("egamma_iso_bx_ieta_firstbunch_ptmin" + egammaPtCutStrAlpha,
510  "L1T EGamma iso with pT#geq" + egammaPtCutStr +
511  " GeV BX vs. i#eta for first bunch in train;BX in event (corrected);i#eta",
512  5,
513  -2.5,
514  2.5,
515  70,
516  -70,
517  70));
518 
520  ibooker.book2D("egamma_noniso_bx_ieta_firstbunch_ptmin" + egammaPtCutStrAlpha,
521  "L1T EGamma non iso with pT#geq" + egammaPtCutStr +
522  " GeV BX vs. i#eta for first bunch in train;BX in event (corrected);i#eta",
523  5,
524  -2.5,
525  2.5,
526  70,
527  -70,
528  70));
529  }
530 
531  ibooker.setCurrentFolder(monitorDir_ + "/L1TTau/timing/First_bunch");
532  for (unsigned int i = 0; i < bxrange_ - 2; ++i) {
533  tau_eta_phi_firstbunch.push_back(ibooker.book2D(
534  "tau_eta_phi_bx_firstbunch_" + bx_obj[i],
535  "L1T Tau p_{T}#geq" + tauPtCutStr + " GeV #eta vs #phi for first bunch BX=" + bx_obj[i] + ";#eta;#phi",
536  30,
537  -3.,
538  3.,
539  25,
540  -3.2,
541  3.2));
542  }
544  ibooker.book2D("denominator_tau_firstbunch",
545  "Denominator for First Bunch for L1T Tau p_{T}#geq" + tauPtCutStr + " GeV;#eta;#phi",
546  30,
547  -3.,
548  3.,
549  25,
550  -3.2,
551  3.2);
552 
553  ibooker.setCurrentFolder(monitorDir_ + "/L1TEtSum/timing/First_bunch");
554  for (unsigned int i = 0; i < bxrange_ - 2; ++i) {
555  etsum_eta_phi_MET_firstbunch.push_back(ibooker.book1D(
556  "etsum_phi_bx_MET_firstbunch_" + bx_obj[i],
557  "L1T EtSum MET p_{T}#geq" + etsumPtCutStr + " GeV #phi for firstbunch bunch BX=" + bx_obj[i] + ";#phi",
558  25,
559  -3.2,
560  3.2));
561  etsum_eta_phi_METHF_firstbunch.push_back(ibooker.book1D(
562  "etsum_phi_bx_METHF_firstbunch_" + bx_obj[i],
563  "L1T EtSum METHF p_{T}#geq" + etsumPtCutStr + " GeV #phi for firstbunch bunch BX=" + bx_obj[i] + ";#phi",
564  25,
565  -3.2,
566  3.2));
567  etsum_eta_phi_MHT_firstbunch.push_back(ibooker.book1D(
568  "etsum_phi_bx_MHT_firstbunch_" + bx_obj[i],
569  "L1T EtSum MHT p_{T}#geq" + etsumPtCutStr + " GeV #phi for firstbunch bunch BX=" + bx_obj[i] + ";#phi",
570  25,
571  -3.2,
572  3.2));
573  etsum_eta_phi_MHTHF_firstbunch.push_back(ibooker.book1D(
574  "etsum_phi_bx_MHTHF_firstbunch_" + bx_obj[i],
575  "L1T EtSum MHTHF p_{T}#geq" + etsumPtCutStr + " GeV #phi for firstbunch bunch BX=" + bx_obj[i] + ";#phi",
576  25,
577  -3.2,
578  3.2));
579  }
581  ibooker.book1D("denominator_etsum_firstbunch_MET",
582  "Denominator for First Bunch for L1T EtSum MET p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
583  25,
584  -3.2,
585  3.2);
587  ibooker.book1D("denominator_etsum_firstbunch_METHF",
588  "Denominator for First Bunch for L1T EtSum METHF p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
589  25,
590  -3.2,
591  3.2);
593  ibooker.book1D("denominator_etsum_firstbunch_MHT",
594  "Denominator for First Bunch for L1T EtSum MHT p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
595  25,
596  -3.2,
597  3.2);
599  ibooker.book1D("denominator_etsum_firstbunch_MHTHF",
600  "Denominator for First Bunch for L1T EtSum MHTHF p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
601  25,
602  -3.2,
603  3.2);
604  }
605 
606  // last bunch in train
607  if (algoBitLastBxInTrain_ > -1) {
608  ibooker.setCurrentFolder(monitorDir_ + "/L1TMuon/timing/Last_bunch");
609  for (unsigned int i = 0; i < bxrange_ - 2; ++i) {
610  muons_eta_phi_lastbunch.push_back(
611  ibooker.book2D("muons_eta_phi_bx_lastbunch_" + bx_obj[i + 2],
612  "L1T Muon p_{T}#geq" + muonPtCutStr + " GeV qual#geq" + muonQualCutStr +
613  " #eta vs #phi for last bunch BX=" + bx_obj[i] + ";#eta;#phi",
614  25,
615  -2.5,
616  2.5,
617  25,
618  -3.2,
619  3.2));
620  }
621  denominator_muons_lastbunch = ibooker.book2D(
622  "denominator_muons_lastbunch",
623  "Denominator for Last Bunch for L1T Muon p_{T}#geq" + muonPtCutStr + " GeV qual#geq" + muonQualCutStr,
624  25,
625  -2.5,
626  2.5,
627  25,
628  -3.2,
629  3.2);
630 
631  ibooker.setCurrentFolder(monitorDir_ + "/L1TJet/timing/Last_bunch");
632  for (unsigned int i = 0; i < bxrange_ - 2; ++i) {
633  jet_eta_phi_lastbunch.push_back(ibooker.book2D(
634  "jet_eta_phi_bx_lastbunch_" + bx_obj[i + 2],
635  "L1T Jet p_{T}#geq" + jetPtCutStr + " GeV #eta vs #phi for last bunch BX=" + bx_obj[i] + ";#eta;#phi",
636  50,
637  -5.,
638  5.,
639  25,
640  -3.2,
641  3.2));
642  }
644  ibooker.book2D("denominator_jet_lastbunch",
645  "Denominator for Last Bunch for L1T Jet p_{T}#geq" + jetPtCutStr + " GeV;#eta;#phi",
646  50,
647  -5.,
648  5.,
649  25,
650  -3.2,
651  3.2);
652 
653  for (const auto egammaPtCut : egammaPtCuts_) {
654  auto egammaPtCutStr = std::to_string(egammaPtCut);
655  egammaPtCutStr.resize(egammaPtCutStr.size() - 5); // cut some decimal digits
656  auto egammaPtCutStrAlpha = egammaPtCutStr;
657  std::replace(egammaPtCutStrAlpha.begin(),
658  egammaPtCutStrAlpha.end(),
659  '.',
660  'p'); // replace the decimal dot with a 'p' to please the DQMStore
661 
662  ibooker.setCurrentFolder(monitorDir_ + "/L1TEGamma/timing/Last_bunch/ptmin_" + egammaPtCutStrAlpha + "_gev");
663  std::vector<MonitorElement*> vHelper;
664  for (unsigned int i = 0; i < bxrange_ - 2; ++i) {
665  vHelper.push_back(ibooker.book2D("egamma_eta_phi_bx_lastbunch_" + bx_obj[i + 2],
666  "L1T EGamma p_{T}#geq" + egammaPtCutStr +
667  " GeV #eta vs #phi for first bunch BX=" + bx_obj[i] + ";#eta;#phi",
668  30,
669  -3.,
670  3.,
671  25,
672  -3.2,
673  3.2));
674  }
675  egamma_eta_phi_lastbunch.push_back(vHelper);
676 
678  ibooker.book2D("denominator_egamma_lastbunch",
679  "Denominator for Last Bunch for L1T EGamma p_{T}#geq" + egammaPtCutStr + " GeV;#eta;#phi",
680  30,
681  -3.,
682  3.,
683  25,
684  -3.2,
685  3.2));
686 
688  ibooker.book2D("egamma_iso_bx_ieta_lastbunch_ptmin" + egammaPtCutStrAlpha,
689  "L1T EGamma iso with pT#geq" + egammaPtCutStr +
690  " GeV BX vs. i#eta for first bunch in train;BX in event (corrected);i#eta",
691  5,
692  -2.5,
693  2.5,
694  70,
695  -70,
696  70));
697 
699  ibooker.book2D("egamma_noniso_bx_ieta_lastbunch_ptmin" + egammaPtCutStrAlpha,
700  "L1T EGamma non iso with pT#geq" + egammaPtCutStr +
701  " GeV BX vs. i#eta for first bunch in train;BX in event (corrected);i#eta",
702  5,
703  -2.5,
704  2.5,
705  70,
706  -70,
707  70));
708  }
709 
710  ibooker.setCurrentFolder(monitorDir_ + "/L1TTau/timing/Last_bunch");
711  for (unsigned int i = 0; i < bxrange_ - 2; ++i) {
712  tau_eta_phi_lastbunch.push_back(ibooker.book2D(
713  "tau_eta_phi_bx_lastbunch_" + bx_obj[i + 2],
714  "L1T Tau p_{T}#geq" + tauPtCutStr + " GeV #eta vs #phi for last bunch BX=" + bx_obj[i] + ";#eta;#phi",
715  30,
716  -3.,
717  3.,
718  25,
719  -3.2,
720  3.2));
721  }
723  ibooker.book2D("denominator_tau_lastbunch",
724  "Denominator for Last Bunch for L1T Tau p_{T}#geq" + tauPtCutStr + " GeV;#eta;#phi",
725  30,
726  -3.,
727  3.,
728  25,
729  -3.2,
730  3.2);
731 
732  ibooker.setCurrentFolder(monitorDir_ + "/L1TEtSum/timing/Last_bunch");
733  for (unsigned int i = 0; i < bxrange_ - 2; ++i) {
734  etsum_eta_phi_MET_lastbunch.push_back(ibooker.book1D(
735  "etsum_phi_bx_MET_lastbunch_" + bx_obj[i + 2],
736  "L1T EtSum MET p_{T}#geq" + etsumPtCutStr + " GeV #phi for lastbunch bunch BX=" + bx_obj[i] + ";#phi",
737  25,
738  -3.2,
739  3.2));
740  etsum_eta_phi_METHF_lastbunch.push_back(ibooker.book1D(
741  "etsum_phi_bx_METHF_lastbunch_" + bx_obj[i + 2],
742  "L1T EtSum METHF p_{T}#geq" + etsumPtCutStr + " GeV #phi for lastbunch bunch BX=" + bx_obj[i] + ";#phi",
743  25,
744  -3.2,
745  3.2));
746  etsum_eta_phi_MHT_lastbunch.push_back(ibooker.book1D(
747  "etsum_phi_bx_MHT_lastbunch_" + bx_obj[i + 2],
748  "L1T EtSum MHT p_{T}#geq" + etsumPtCutStr + " GeV #phi for lastbunch bunch BX=" + bx_obj[i] + ";#phi",
749  25,
750  -3.2,
751  3.2));
752  etsum_eta_phi_MHTHF_lastbunch.push_back(ibooker.book1D(
753  "etsum_phi_bx_MHTHF_lastbunch_" + bx_obj[i + 2],
754  "L1T EtSum MHTHF p_{T}#geq" + etsumPtCutStr + " GeV #phi for lastbunch bunch BX=" + bx_obj[i] + ";#phi",
755  25,
756  -3.2,
757  3.2));
758  }
760  ibooker.book1D("denominator_etsum_lastbunch_MET",
761  "Denominator for Last Bunch for L1T EtSum MET p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
762  25,
763  -3.2,
764  3.2);
766  ibooker.book1D("denominator_etsum_lastbunch_METHF",
767  "Denominator for Last Bunch for L1T EtSum METHF p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
768  25,
769  -3.2,
770  3.2);
772  ibooker.book1D("denominator_etsum_lastbunch_MHT",
773  "Denominator for Last Bunch for L1T EtSum MHT p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
774  25,
775  -3.2,
776  3.2);
778  ibooker.book1D("denominator_etsum_lastbunch_MHTHF",
779  "Denominator for Last Bunch for L1T EtSum MHTHF p_{T}#geq" + etsumPtCutStr + " GeV;#phi",
780  25,
781  -3.2,
782  3.2);
783  }
784 }
MonitorElement * denominator_etsum_METHF
std::vector< MonitorElement * > jet_eta_phi_firstbunch
MonitorElement * denominator_etsum_lastbunch_MHT
MonitorElement * denominator_muons_isolated
std::vector< MonitorElement * > etsum_eta_phi_MET_isolated
std::vector< MonitorElement * > etsum_eta_phi_METHF_isolated
std::vector< MonitorElement * > muons_eta_phi_isolated
MonitorElement * denominator_etsum_MET
std::vector< MonitorElement * > egamma_eta_phi
std::vector< std::vector< MonitorElement * > > egamma_eta_phi_lastbunch
MonitorElement * denominator_etsum_isolated_MHTHF
MonitorElement * denominator_muons_firstbunch
std::vector< MonitorElement * > jet_eta_phi_lastbunch
std::vector< MonitorElement * > tau_eta_phi_lastbunch
std::vector< MonitorElement * > denominator_egamma_isolated
MonitorElement * denominator_etsum_MHT
const unsigned int bxrange_
def replace(string, replacements)
std::vector< MonitorElement * > etsum_eta_phi_MET_firstbunch
MonitorElement * denominator_etsum_isolated_METHF
std::vector< std::vector< MonitorElement * > > egamma_eta_phi_isolated
std::vector< MonitorElement * > egamma_iso_bx_ieta_firstbunch
MonitorElement * denominator_tau_isolated
std::vector< MonitorElement * > etsum_eta_phi_MHT_lastbunch
MonitorElement * denominator_etsum_firstbunch_MET
MonitorElement * denominator_etsum_firstbunch_MHT
std::vector< MonitorElement * > muons_eta_phi_lastbunch
MonitorElement * denominator_etsum_MHTHF
std::vector< MonitorElement * > etsum_eta_phi_MHT
MonitorElement * denominator_egamma
std::vector< MonitorElement * > etsum_eta_phi_MET_lastbunch
std::vector< MonitorElement * > denominator_egamma_firstbunch
MonitorElement * denominator_tau_lastbunch
std::vector< MonitorElement * > jet_eta_phi
std::vector< MonitorElement * > etsum_eta_phi_METHF_firstbunch
std::vector< MonitorElement * > etsum_eta_phi_MHTHF_isolated
MonitorElement * denominator_tau_firstbunch
std::vector< std::vector< MonitorElement * > > egamma_eta_phi_firstbunch
MonitorElement * denominator_etsum_lastbunch_MHTHF
MonitorElement * denominator_muons
std::vector< MonitorElement * > muons_eta_phi_firstbunch
std::vector< MonitorElement * > egamma_noniso_bx_ieta_lastbunch
std::vector< MonitorElement * > etsum_eta_phi_MHTHF_lastbunch
std::vector< MonitorElement * > egamma_noniso_bx_ieta_firstbunch
std::vector< MonitorElement * > tau_eta_phi_isolated
std::vector< MonitorElement * > etsum_eta_phi_METHF
std::vector< MonitorElement * > etsum_eta_phi_MHTHF
std::vector< MonitorElement * > etsum_eta_phi_MHTHF_firstbunch
std::vector< MonitorElement * > tau_eta_phi
MonitorElement * denominator_etsum_firstbunch_METHF
MonitorElement * denominator_jet_lastbunch
std::string monitorDir_
MonitorElement * denominator_jet
std::vector< double > egammaPtCuts_
std::vector< MonitorElement * > egamma_noniso_bx_ieta_isolated
std::vector< MonitorElement * > etsum_eta_phi_MHT_isolated
std::vector< MonitorElement * > etsum_eta_phi_METHF_lastbunch
std::vector< MonitorElement * > egamma_iso_bx_ieta_lastbunch
MonitorElement * denominator_muons_lastbunch
std::vector< MonitorElement * > etsum_eta_phi_MET
MonitorElement * denominator_tau
std::vector< MonitorElement * > jet_eta_phi_isolated
std::vector< MonitorElement * > egamma_iso_bx_ieta_isolated
MonitorElement * denominator_etsum_isolated_MET
MonitorElement * denominator_etsum_firstbunch_MHTHF
std::vector< MonitorElement * > denominator_egamma_lastbunch
std::vector< MonitorElement * > muons_eta_phi
MonitorElement * denominator_etsum_lastbunch_METHF
MonitorElement * denominator_etsum_isolated_MHT
std::vector< MonitorElement * > etsum_eta_phi_MHT_firstbunch
MonitorElement * denominator_jet_firstbunch
MonitorElement * denominator_jet_isolated
MonitorElement * denominator_etsum_lastbunch_MET
std::vector< MonitorElement * > tau_eta_phi_firstbunch
void L1TObjectsTiming::dqmBeginRun ( const edm::Run r,
const edm::EventSetup c 
)
overrideprotected

Definition at line 79 of file L1TObjectsTiming.cc.

References algoBitFirstBxInTrain_, algoBitIsoBx_, algoBitLastBxInTrain_, algoNameFirstBxInTrain_, algoNameIsoBx_, algoNameLastBxInTrain_, and gtUtil_.

79  {
80  // Get the trigger menu information
81  gtUtil_->retrieveL1Setup(c);
82 
83  // Get the algo bits needed for the timing histograms
84  if (!gtUtil_->getAlgBitFromName(algoNameFirstBxInTrain_, algoBitFirstBxInTrain_)) {
85  edm::LogWarning("L1TObjectsTiming") << "Algo \"" << algoNameFirstBxInTrain_ << "\" not found in the trigger menu "
86  << gtUtil_->gtTriggerMenuName() << ". Could not retrieve algo bit number.";
87  }
88 
89  if (!gtUtil_->getAlgBitFromName(algoNameLastBxInTrain_, algoBitLastBxInTrain_)) {
90  edm::LogWarning("L1TObjectsTiming") << "Algo \"" << algoNameLastBxInTrain_ << "\" not found in the trigger menu "
91  << gtUtil_->gtTriggerMenuName() << ". Could not retrieve algo bit number.";
92  }
93 
94  if (!gtUtil_->getAlgBitFromName(algoNameIsoBx_, algoBitIsoBx_)) {
95  edm::LogWarning("L1TObjectsTiming") << "Algo \"" << algoNameIsoBx_ << "\" not found in the trigger menu "
96  << gtUtil_->gtTriggerMenuName() << ". Could not retrieve algo bit number.";
97  }
98 }
const std::string algoNameIsoBx_
const std::string algoNameLastBxInTrain_
const std::string algoNameFirstBxInTrain_
std::shared_ptr< l1t::L1TGlobalUtil > gtUtil_
void L1TObjectsTiming::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 51 of file L1TObjectsTiming.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), edm::ParameterDescriptionNode::setComment(), and AlCaHLTBitMon_QueryRunRegistry::string.

51  {
53  desc.add<edm::InputTag>("muonProducer")->setComment("L1T muons");
54  ;
55  desc.add<edm::InputTag>("stage2CaloLayer2JetProducer")->setComment("L1T jets");
56  desc.add<edm::InputTag>("stage2CaloLayer2EGammaProducer")->setComment("L1T egamma");
57  desc.add<edm::InputTag>("stage2CaloLayer2TauProducer")->setComment("L1T taus");
58  desc.add<edm::InputTag>("stage2CaloLayer2EtSumProducer")->setComment("L1T etsums");
59  desc.add<edm::InputTag>("ugtProducer")->setComment("uGT output");
60  desc.addUntracked<std::string>("monitorDir", "")
61  ->setComment("Target directory in the DQM file. Will be created if not existing.");
62  desc.addUntracked<bool>("verbose", false);
63  desc.addUntracked<std::string>("firstBXInTrainAlgo", "")
64  ->setComment("Pick the right algo name for L1 First Collision In Train");
65  desc.addUntracked<std::string>("lastBXInTrainAlgo", "")
66  ->setComment("Pick the right algo name for L1 Last Collision In Train");
67  desc.addUntracked<std::string>("isoBXAlgo", "")->setComment("Pick the right algo name for L1 Isolated Bunch");
68  desc.addUntracked<std::string>("useAlgoDecision", "initial")
69  ->setComment("Which algo decision should be checked [initial, intermediate, final].");
70  desc.addUntracked<std::vector<double>>("egammaPtCuts", {20., 10., 30.})->setComment("List if min egamma pT vaules");
71  desc.addUntracked<double>("jetPtCut", 20.)->setComment("Min jet pT");
72  desc.addUntracked<double>("tauPtCut", 20.)->setComment("Min tau pT");
73  desc.addUntracked<double>("etsumPtCut", 20.)->setComment("Min etsum pT");
74  desc.addUntracked<double>("muonPtCut", 8.)->setComment("Min muon pT");
75  desc.addUntracked<int>("muonQualCut", 12)->setComment("Min muon quality");
76  descriptions.add("l1tObjectsTiming", desc);
77 }
void setComment(std::string const &value)
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)

Member Data Documentation

int L1TObjectsTiming::algoBitFirstBxInTrain_
private

Definition at line 59 of file L1TObjectsTiming.h.

Referenced by analyze(), bookHistograms(), and dqmBeginRun().

int L1TObjectsTiming::algoBitIsoBx_
private

Definition at line 61 of file L1TObjectsTiming.h.

Referenced by analyze(), bookHistograms(), and dqmBeginRun().

int L1TObjectsTiming::algoBitLastBxInTrain_
private

Definition at line 60 of file L1TObjectsTiming.h.

Referenced by analyze(), bookHistograms(), and dqmBeginRun().

const std::string L1TObjectsTiming::algoNameFirstBxInTrain_
private

Definition at line 62 of file L1TObjectsTiming.h.

Referenced by dqmBeginRun().

const std::string L1TObjectsTiming::algoNameIsoBx_
private

Definition at line 64 of file L1TObjectsTiming.h.

Referenced by dqmBeginRun().

const std::string L1TObjectsTiming::algoNameLastBxInTrain_
private

Definition at line 63 of file L1TObjectsTiming.h.

Referenced by dqmBeginRun().

const unsigned int L1TObjectsTiming::bxrange_
private

Definition at line 65 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_egamma
private

Definition at line 90 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::denominator_egamma_firstbunch
private

Definition at line 132 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::denominator_egamma_isolated
private

Definition at line 109 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::denominator_egamma_lastbunch
private

Definition at line 154 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_firstbunch_MET
private

Definition at line 134 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_firstbunch_METHF
private

Definition at line 135 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_firstbunch_MHT
private

Definition at line 136 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_firstbunch_MHTHF
private

Definition at line 137 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_isolated_MET
private

Definition at line 111 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_isolated_METHF
private

Definition at line 112 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_isolated_MHT
private

Definition at line 113 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_isolated_MHTHF
private

Definition at line 114 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_lastbunch_MET
private

Definition at line 156 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_lastbunch_METHF
private

Definition at line 157 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_lastbunch_MHT
private

Definition at line 158 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_lastbunch_MHTHF
private

Definition at line 159 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_MET
private

Definition at line 92 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_METHF
private

Definition at line 93 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_MHT
private

Definition at line 94 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_etsum_MHTHF
private

Definition at line 95 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_jet
private

Definition at line 89 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_jet_firstbunch
private

Definition at line 131 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_jet_isolated
private

Definition at line 108 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_jet_lastbunch
private

Definition at line 153 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_muons
private

Definition at line 88 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_muons_firstbunch
private

Definition at line 130 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_muons_isolated
private

Definition at line 107 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_muons_lastbunch
private

Definition at line 152 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_tau
private

Definition at line 91 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_tau_firstbunch
private

Definition at line 133 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_tau_isolated
private

Definition at line 110 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TObjectsTiming::denominator_tau_lastbunch
private

Definition at line 155 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::egamma_eta_phi
private

Definition at line 81 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<std::vector<MonitorElement*> > L1TObjectsTiming::egamma_eta_phi_firstbunch
private

Definition at line 122 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<std::vector<MonitorElement*> > L1TObjectsTiming::egamma_eta_phi_isolated
private

Definition at line 100 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<std::vector<MonitorElement*> > L1TObjectsTiming::egamma_eta_phi_lastbunch
private

Definition at line 145 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::egamma_iso_bx_ieta_firstbunch
private

Definition at line 139 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::egamma_iso_bx_ieta_isolated
private

Definition at line 116 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::egamma_iso_bx_ieta_lastbunch
private

Definition at line 161 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::egamma_noniso_bx_ieta_firstbunch
private

Definition at line 140 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::egamma_noniso_bx_ieta_isolated
private

Definition at line 117 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::egamma_noniso_bx_ieta_lastbunch
private

Definition at line 162 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

double L1TObjectsTiming::egammaPtCut_
private

Definition at line 71 of file L1TObjectsTiming.h.

Referenced by analyze(), bookHistograms(), and L1TObjectsTiming().

std::vector<double> L1TObjectsTiming::egammaPtCuts_
private

Definition at line 69 of file L1TObjectsTiming.h.

Referenced by analyze(), bookHistograms(), and L1TObjectsTiming().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_firstbunch
private

Definition at line 124 of file L1TObjectsTiming.h.

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_MET
private

Definition at line 83 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_MET_firstbunch
private

Definition at line 125 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_MET_isolated
private

Definition at line 102 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_MET_lastbunch
private

Definition at line 147 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_METHF
private

Definition at line 84 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_METHF_firstbunch
private

Definition at line 126 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_METHF_isolated
private

Definition at line 103 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_METHF_lastbunch
private

Definition at line 148 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_MHT
private

Definition at line 85 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_MHT_firstbunch
private

Definition at line 127 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_MHT_isolated
private

Definition at line 104 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_MHT_lastbunch
private

Definition at line 149 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_MHTHF
private

Definition at line 86 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_MHTHF_firstbunch
private

Definition at line 128 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_MHTHF_isolated
private

Definition at line 105 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::etsum_eta_phi_MHTHF_lastbunch
private

Definition at line 150 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

double L1TObjectsTiming::etsumPtCut_
private

Definition at line 73 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::shared_ptr<l1t::L1TGlobalUtil> L1TObjectsTiming::gtUtil_
private

Definition at line 56 of file L1TObjectsTiming.h.

Referenced by dqmBeginRun().

std::vector<MonitorElement*> L1TObjectsTiming::jet_eta_phi
private

Definition at line 80 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::jet_eta_phi_firstbunch
private

Definition at line 121 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::jet_eta_phi_isolated
private

Definition at line 99 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::jet_eta_phi_lastbunch
private

Definition at line 144 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

double L1TObjectsTiming::jetPtCut_
private

Definition at line 70 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<GlobalAlgBlkBxCollection> L1TObjectsTiming::l1tStage2uGtProducer_
private

Definition at line 50 of file L1TObjectsTiming.h.

Referenced by analyze().

std::string L1TObjectsTiming::monitorDir_
private

Definition at line 52 of file L1TObjectsTiming.h.

Referenced by bookHistograms().

double L1TObjectsTiming::muonPtCut_
private

Definition at line 74 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

int L1TObjectsTiming::muonQualCut_
private

Definition at line 75 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::muons_eta_phi
private

Definition at line 79 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::muons_eta_phi_firstbunch
private

Definition at line 120 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::muons_eta_phi_isolated
private

Definition at line 98 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::muons_eta_phi_lastbunch
private

Definition at line 143 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<l1t::EGammaBxCollection> L1TObjectsTiming::stage2CaloLayer2EGammaToken_
private

Definition at line 46 of file L1TObjectsTiming.h.

Referenced by analyze().

edm::EDGetTokenT<l1t::EtSumBxCollection> L1TObjectsTiming::stage2CaloLayer2EtSumToken_
private

Definition at line 48 of file L1TObjectsTiming.h.

Referenced by analyze().

edm::EDGetTokenT<l1t::JetBxCollection> L1TObjectsTiming::stage2CaloLayer2JetToken_
private

Definition at line 45 of file L1TObjectsTiming.h.

Referenced by analyze().

edm::EDGetTokenT<l1t::TauBxCollection> L1TObjectsTiming::stage2CaloLayer2TauToken_
private

Definition at line 47 of file L1TObjectsTiming.h.

Referenced by analyze().

std::vector<MonitorElement*> L1TObjectsTiming::tau_eta_phi
private

Definition at line 82 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::tau_eta_phi_firstbunch
private

Definition at line 123 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::tau_eta_phi_isolated
private

Definition at line 101 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> L1TObjectsTiming::tau_eta_phi_lastbunch
private

Definition at line 146 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

double L1TObjectsTiming::tauPtCut_
private

Definition at line 72 of file L1TObjectsTiming.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<l1t::MuonBxCollection> L1TObjectsTiming::ugmtMuonToken_
private

Definition at line 44 of file L1TObjectsTiming.h.

Referenced by analyze().

unsigned int L1TObjectsTiming::useAlgoDecision_
private

Definition at line 67 of file L1TObjectsTiming.h.

Referenced by analyze(), and L1TObjectsTiming().

bool L1TObjectsTiming::verbose_
private

Definition at line 53 of file L1TObjectsTiming.h.

Referenced by analyze().