CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes
L1TCompare Class Reference

#include <L1TCompare.h>

Inheritance diagram for L1TCompare:
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

Classes

class  RctObject
 

Public Member Functions

 L1TCompare (const edm::ParameterSet &ps)
 
 ~L1TCompare () 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 dqmBeginLuminosityBlock (edm::LuminosityBlock 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)
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
void bookHistograms (DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) 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 Types

typedef std::vector< L1TCompare::RctObjectRctObjectCollection
 

Private Member Functions

bool verbose () const
 

Static Private Member Functions

static bool rctObjectComp (const RctObject &a, const RctObject &b)
 

Private Attributes

MonitorElementecalTpgRctLeadingEmEta2_
 
MonitorElementecalTpgRctLeadingEmEta_
 
MonitorElementecalTpgRctLeadingEmPhi_
 
MonitorElementecalTpgRctLeadingEmRank_
 
edm::InputTag ecalTpgSource_
 
edm::EDGetTokenT< EcalTrigPrimDigiCollectionecalTpgSource_token_
 
edm::EDGetTokenT< L1GctJetCandCollectiongctCenJetsToken_
 
edm::EDGetTokenT< L1GctEmCandCollectiongctIsoEmCandsToken_
 
edm::EDGetTokenT< L1GctEmCandCollectiongctNonIsoEmCandsToken_
 
edm::InputTag gctSource_
 
std::ofstream logFile_
 
bool monitorDaemon_
 
int nev_
 
std::string outputFile_
 
MonitorElementrctGctLeadingIsoEmEta_
 
MonitorElementrctGctLeadingIsoEmPhi_
 
MonitorElementrctGctLeadingIsoEmRank_
 
MonitorElementrctGctLeadingNonIsoEmEta_
 
MonitorElementrctGctLeadingNonIsoEmPhi_
 
MonitorElementrctGctLeadingNonIsoEmRank_
 
edm::InputTag rctSource_
 
edm::EDGetTokenT< L1CaloEmCollectionrctSourceEm_token_
 
edm::EDGetTokenT< L1CaloRegionCollectionrctSourceRctEmRgn_token_
 
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
 
- 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 Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 62 of file L1TCompare.h.

Member Typedef Documentation

Definition at line 123 of file L1TCompare.h.

Constructor & Destructor Documentation

L1TCompare::L1TCompare ( const edm::ParameterSet ps)

Definition at line 90 of file L1TCompare.cc.

References gather_cfg::cout, gctCenJetsToken_, gctIsoEmCandsToken_, gctNonIsoEmCandsToken_, gctSource_, edm::ParameterSet::getUntrackedParameter(), edm::InputTag::label(), outputFile_, AlCaHLTBitMon_QueryRunRegistry::string, verbose(), and verbose_.

91  : rctSourceEm_token_(consumes<L1CaloEmCollection>(ps.getParameter<InputTag>("rctSource"))),
92  rctSourceRctEmRgn_token_(consumes<L1CaloRegionCollection>(ps.getParameter<InputTag>("rctSource"))),
93  rctSource_(ps.getParameter<InputTag>("rctSource")),
94  gctSource_(ps.getParameter<InputTag>("gctSource")),
95  ecalTpgSource_(ps.getParameter<edm::InputTag>("ecalTpgSource")),
96  ecalTpgSource_token_(consumes<EcalTrigPrimDigiCollection>(ps.getParameter<edm::InputTag>("ecalTpgSource")))
97 
98 {
99  // verbosity switch
100  verbose_ = ps.getUntrackedParameter<bool>("verbose", false);
101 
102  if (verbose())
103  std::cout << "L1TCompare: constructor...." << std::endl;
104 
105  outputFile_ = ps.getUntrackedParameter<std::string>("outputFile", "");
106  if (!outputFile_.empty()) {
107  std::cout << "L1T Monitoring histograms will be saved to " << outputFile_.c_str() << std::endl;
108  }
109 
110  bool disable = ps.getUntrackedParameter<bool>("disableROOToutput", false);
111  if (disable) {
112  outputFile_ = "";
113  }
114 
115  //set Token(-s)
116  edm::InputTag gctCenJetsTag_(gctSource_.label(), "cenJets");
117  edm::InputTag gctIsoEmCandsTag_(gctSource_.label(), "isoEm");
118  edm::InputTag gctNonIsoEmCandsTag_(gctSource_.label(), "nonIsoEm");
119 
120  gctCenJetsToken_ = consumes<L1GctJetCandCollection>(gctCenJetsTag_);
121  gctIsoEmCandsToken_ = consumes<L1GctEmCandCollection>(gctIsoEmCandsTag_);
122  gctNonIsoEmCandsToken_ = consumes<L1GctEmCandCollection>(gctNonIsoEmCandsTag_);
123 }
T getParameter(std::string const &) const
edm::EDGetTokenT< L1GctEmCandCollection > gctNonIsoEmCandsToken_
Definition: L1TCompare.h:114
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< L1CaloRegionCollection > rctSourceRctEmRgn_token_
Definition: L1TCompare.h:105
bool verbose() const
Definition: L1TCompare.h:100
edm::InputTag rctSource_
Definition: L1TCompare.h:106
edm::InputTag gctSource_
Definition: L1TCompare.h:107
bool verbose_
Definition: L1TCompare.h:99
edm::EDGetTokenT< L1GctJetCandCollection > gctCenJetsToken_
Definition: L1TCompare.h:112
edm::EDGetTokenT< L1CaloEmCollection > rctSourceEm_token_
Definition: L1TCompare.h:104
edm::InputTag ecalTpgSource_
Definition: L1TCompare.h:108
std::string const & label() const
Definition: InputTag.h:36
edm::EDGetTokenT< L1GctEmCandCollection > gctIsoEmCandsToken_
Definition: L1TCompare.h:113
std::string outputFile_
Definition: L1TCompare.h:98
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTpgSource_token_
Definition: L1TCompare.h:109
L1TCompare::~L1TCompare ( )
override

Definition at line 125 of file L1TCompare.cc.

125 {}

Member Function Documentation

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

Definition at line 191 of file L1TCompare.cc.

References edm::SortedCollection< T, SORT >::begin(), beam_dqm_sourceclient-live_cfg::cerr, gather_cfg::cout, ecalTpgRctLeadingEmEta2_, ecalTpgRctLeadingEmEta_, ecalTpgRctLeadingEmPhi_, ecalTpgRctLeadingEmRank_, ecalTpgSource_, ecalTpgSource_token_, edm::SortedCollection< T, SORT >::end(), dqm::impl::MonitorElement::Fill(), gctCenJetsToken_, gctIsoEmCandsToken_, gctNonIsoEmCandsToken_, edm::Event::getByToken(), h, triggerObjects_cff::id, edm::HandleBase::isValid(), edm::InputTag::label(), nev_, rctGctLeadingIsoEmEta_, rctGctLeadingIsoEmPhi_, rctGctLeadingIsoEmRank_, rctGctLeadingNonIsoEmEta_, rctGctLeadingNonIsoEmPhi_, rctGctLeadingNonIsoEmRank_, rctObjectComp(), rctSource_, rctSourceEm_token_, rctSourceRctEmRgn_token_, and verbose().

191  {
192  ++nev_;
193  if (verbose()) {
194  std::cout << "L1TCompare: analyze...." << std::endl;
195  }
196 
197  // L1E
203  // edm::Handle < L1EtMissParticle > l1eEtMiss;
205  // RCT
206  edm::Handle<L1CaloEmCollection> em; // collection of L1CaloEmCands
208 
209  // GCT
212  edm::Handle<L1GctEmCandCollection> gctNonIsoEmCands;
213 
215 
216  if (!em.isValid()) {
217  edm::LogInfo("DataNotFound") << "can't find L1CaloEmCollection with label " << rctSource_.label();
218  return;
219  }
220 
222 
223  if (!rctEmRgn.isValid()) {
224  edm::LogInfo("DataNotFound") << "can't find "
225  << "L1CaloRegionCollection with label " << rctSource_.label();
226  return;
227  }
228 
229  e.getByToken(gctCenJetsToken_, gctCenJets);
230  e.getByToken(gctIsoEmCandsToken_, gctIsoEmCands);
231  e.getByToken(gctNonIsoEmCandsToken_, gctNonIsoEmCands);
232 
233  if (!gctCenJets.isValid()) {
234  std::cerr << "L1TGCT: could not find one of the classes?" << std::endl;
235  return;
236  }
237  if (!gctIsoEmCands.isValid()) {
238  std::cerr << "L1TGCT: could not find one of the classes?" << std::endl;
239  return;
240  }
241  if (!gctNonIsoEmCands.isValid()) {
242  std::cerr << "L1TGCT: could not find one of the classes?" << std::endl;
243  return;
244  }
245 
246  // GCT
247  if (verbose()) {
248  for (L1GctEmCandCollection::const_iterator iem = gctIsoEmCands->begin(); iem != gctIsoEmCands->end(); ++iem) {
249  if (!iem->empty())
250  std::cout << "GCT EM: " << iem->rank() << ", " << iem->etaIndex()
251  << "("
252  //<< int(iem->etaIndex()&0x3)*((iem->etaIndex()&0x4)?1:-1)
253  << "), " << iem->phiIndex() << std::endl;
254  }
255  }
256  // rct phi: 0-17
257  // rct eta: 0-21
258 
259  // Fill the RCT histograms
260 
261  // Regions
262  RctObjectCollection rcj, rcj_iso, rcj_non_iso;
263  for (L1CaloEmCollection::const_iterator iem = em->begin(); iem != em->end(); ++iem) {
264  // L1CaloRegionDetId id(false, iem->rctCrate(), iem->rctCard(),
265  // iem->rctRegion());
266  L1CaloRegionDetId id(iem->rctCrate(), iem->rctCard(), iem->rctRegion());
267 
268  // RctObject h(id.gctEta(), id.gctPhi(), iem->rank());
269  RctObject h(id.rctEta(), id.rctPhi(), iem->rank());
270  if (!iem->isolated())
271  rcj_non_iso.push_back(h);
272  else
273  rcj_iso.push_back(h);
274  rcj.push_back(h);
275  }
276  // not so smart but ...
277  std::sort(rcj.begin(), rcj.end(), rctObjectComp);
278  std::sort(rcj_non_iso.begin(), rcj_non_iso.end(), rctObjectComp);
279  std::sort(rcj_iso.begin(), rcj_iso.end(), rctObjectComp);
280  if (verbose()) {
281  for (RctObjectCollection::reverse_iterator ij = rcj_iso.rbegin();
282  ij != rcj_iso.rend() && ij != rcj_iso.rbegin() + 8;
283  ++ij) {
284  std::cout << "RCT cj: " << ij->rank_ << ", " << ij->eta_ << ", " << ij->phi_ << std::endl;
285  }
286  }
287  L1GctEmCandCollection::const_iterator lead_em = gctIsoEmCands->begin();
288  if (!lead_em->empty()) { // equivalent to rank == 0
289  rctGctLeadingIsoEmEta_->Fill(lead_em->etaIndex(), rcj_iso.rbegin()->eta_);
290  rctGctLeadingIsoEmPhi_->Fill(lead_em->phiIndex(), rcj_iso.rbegin()->phi_);
291  rctGctLeadingIsoEmRank_->Fill(lead_em->rank(), rcj_iso.rbegin()->rank_);
292  }
293 
294  // non-isolated
295  if (verbose()) {
296  for (L1GctEmCandCollection::const_iterator iem = gctNonIsoEmCands->begin(); iem != gctNonIsoEmCands->end(); ++iem) {
297  if (!iem->empty())
298  std::cout << "GCT EM non: " << iem->rank() << ", "
299  << iem->etaIndex() //<< "("
300  //<< int(iem->etaIndex()&0x3)*((iem->etaIndex()&0x4)?1:-1)
301  //<< ")"
302  << ", " << iem->phiIndex() << std::endl;
303  }
304  }
305  if (verbose()) {
306  for (RctObjectCollection::reverse_iterator ij = rcj_non_iso.rbegin();
307  ij != rcj_non_iso.rend() && ij != rcj_non_iso.rbegin() + 8;
308  ++ij) {
309  std::cout << "RCT cj non: " << ij->rank_ << ", " << ij->eta_ << ", " << ij->phi_ << std::endl;
310  }
311  }
312  lead_em = gctNonIsoEmCands->begin();
313  if (!lead_em->empty()) { // equivalent to rank != 0
314  rctGctLeadingNonIsoEmEta_->Fill(lead_em->etaIndex(), rcj_non_iso.rbegin()->eta_);
315  rctGctLeadingNonIsoEmPhi_->Fill(lead_em->phiIndex(), rcj_non_iso.rbegin()->phi_);
316  rctGctLeadingNonIsoEmRank_->Fill(lead_em->rank(), rcj_non_iso.rbegin()->rank_);
317  }
318 
319  // ECAL TPG's to RCT EM
322 
323  if (!eTP.isValid()) {
324  edm::LogInfo("DataNotFound") << "can't find EcalTrigPrimCollection with label " << ecalTpgSource_.label();
325  return;
326  }
327  RctObjectCollection ecalobs;
328  for (EcalTrigPrimDigiCollection::const_iterator ieTP = eTP->begin(); ieTP != eTP->end(); ieTP++) {
329  ecalobs.push_back(RctObject(ieTP->id().ieta(), ieTP->id().iphi(), ieTP->compressedEt()));
330  }
331  std::sort(ecalobs.begin(), ecalobs.end(), rctObjectComp);
332  if (verbose()) {
333  for (RctObjectCollection::reverse_iterator ij = ecalobs.rbegin();
334  ij != ecalobs.rend() && ij != ecalobs.rbegin() + 8;
335  ++ij) {
336  std::cout << "ECAL cj : " << ij->rank_ << ", " << ij->eta_ << ", " << ij->phi_ << std::endl;
337  }
338  }
339  // abritrary cut
340  if (rcj.rbegin()->rank_ > 4) {
341  ecalTpgRctLeadingEmEta_->Fill(rcj.rbegin()->eta_, ecalobs.rbegin()->eta_);
342  int e2 = (rcj.rbegin()->eta_ & 0x7UL) * ((rcj.rbegin()->eta_ & 0x8UL) ? 1 : -1);
343  ecalTpgRctLeadingEmEta2_->Fill(e2, ecalobs.rbegin()->eta_);
344  ecalTpgRctLeadingEmPhi_->Fill(rcj.rbegin()->phi_, ecalobs.rbegin()->phi_);
345  ecalTpgRctLeadingEmRank_->Fill(rcj.rbegin()->rank_, ecalobs.rbegin()->rank_);
346  }
347  if (verbose()) {
348  int seta = rcj.rbegin()->eta_;
349  seta = (seta & 0x7UL) * (seta & 0x8 ? -1 : 1);
350  std::cout << "ZZ: " << rcj.rbegin()->eta_ << " " << rcj.rbegin()->phi_ << " " << rcj.rbegin()->rank_ << " "
351  << (++rcj.rbegin())->rank_ << " " << ecalobs.rbegin()->eta_ << " " << ecalobs.rbegin()->phi_ << " "
352  << ecalobs.rbegin()->rank_ << " " << (++ecalobs.rbegin())->rank_ << " " << seta << " " << std::endl;
353  }
354 }
edm::EDGetTokenT< L1GctEmCandCollection > gctNonIsoEmCandsToken_
Definition: L1TCompare.h:114
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
edm::EDGetTokenT< L1CaloRegionCollection > rctSourceRctEmRgn_token_
Definition: L1TCompare.h:105
MonitorElement * rctGctLeadingIsoEmRank_
Definition: L1TCompare.h:85
bool verbose() const
Definition: L1TCompare.h:100
MonitorElement * rctGctLeadingIsoEmEta_
Definition: L1TCompare.h:83
edm::InputTag rctSource_
Definition: L1TCompare.h:106
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
MonitorElement * ecalTpgRctLeadingEmEta2_
Definition: L1TCompare.h:93
std::vector< T >::const_iterator const_iterator
static bool rctObjectComp(const RctObject &a, const RctObject &b)
Definition: L1TCompare.h:128
MonitorElement * ecalTpgRctLeadingEmRank_
Definition: L1TCompare.h:95
void Fill(long long x)
MonitorElement * rctGctLeadingNonIsoEmEta_
Definition: L1TCompare.h:87
bool isValid() const
Definition: HandleBase.h:70
const_iterator end() const
edm::EDGetTokenT< L1GctJetCandCollection > gctCenJetsToken_
Definition: L1TCompare.h:112
edm::EDGetTokenT< L1CaloEmCollection > rctSourceEm_token_
Definition: L1TCompare.h:104
MonitorElement * rctGctLeadingIsoEmPhi_
Definition: L1TCompare.h:84
std::vector< L1TCompare::RctObject > RctObjectCollection
Definition: L1TCompare.h:123
MonitorElement * ecalTpgRctLeadingEmEta_
Definition: L1TCompare.h:92
edm::InputTag ecalTpgSource_
Definition: L1TCompare.h:108
MonitorElement * rctGctLeadingNonIsoEmPhi_
Definition: L1TCompare.h:88
std::string const & label() const
Definition: InputTag.h:36
edm::EDGetTokenT< L1GctEmCandCollection > gctIsoEmCandsToken_
Definition: L1TCompare.h:113
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTpgSource_token_
Definition: L1TCompare.h:109
MonitorElement * rctGctLeadingNonIsoEmRank_
Definition: L1TCompare.h:89
const_iterator begin() const
MonitorElement * ecalTpgRctLeadingEmPhi_
Definition: L1TCompare.h:94
void L1TCompare::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 131 of file L1TCompare.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), ecalTpgRctLeadingEmEta2_, ecalTpgRctLeadingEmEta_, ecalTpgRctLeadingEmPhi_, ecalTpgRctLeadingEmRank_, ETABINS, ETAMAX, ETAMIN, nev_, PHIBINS, PHIMAX, PHIMIN, R6BINS, R6MAX, R6MIN, rctGctLeadingIsoEmEta_, rctGctLeadingIsoEmPhi_, rctGctLeadingIsoEmRank_, rctGctLeadingNonIsoEmEta_, rctGctLeadingNonIsoEmPhi_, rctGctLeadingNonIsoEmRank_, dqm::impl::MonitorElement::setAxisTitle(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, TPETABINS, TPETAMAX, TPETAMIN, TPPHIBINS, TPPHIMAX, and TPPHIMIN.

131  {
132  nev_ = 0;
133 
134  ibooker.setCurrentFolder("L1T/Compare");
135 
136  // -------------------------------------------
137  // RCT-GCT
138  // -------------------------------------------
139  // Isolated
141  ibooker.book2D("rctGctLeadingIsoEmRank", "RCT-GCT: rank", R6BINS, R6MIN, R6MAX, R6BINS, R6MIN, R6MAX);
145  ibooker.book2D("rctGctLeadingIsoEmEta", "RCT-GCT: #eta", ETABINS, ETAMIN, ETAMAX, ETABINS, ETAMIN, ETAMAX);
148 
150  ibooker.book2D("rctGctLeadingIsoEmPhi", "RCT-GCT: #phi", PHIBINS, PHIMIN, PHIMAX, PHIBINS, PHIMIN, PHIMAX);
153  // non-Isolated
155  ibooker.book2D("rctGctLeadingNonIsoEmRank", "RCT-GCT: rank", R6BINS, R6MIN, R6MAX, R6BINS, R6MIN, R6MAX);
158 
160  ibooker.book2D("rctGctLeadingNonIsoEmEta", "RCT-GCT: #eta", ETABINS, ETAMIN, ETAMAX, ETABINS, ETAMIN, ETAMAX);
163 
165  ibooker.book2D("rctGctLeadingNonIsoEmPhi", "RCT-GCT: #phi", PHIBINS, PHIMIN, PHIMAX, PHIBINS, PHIMIN, PHIMAX);
168  // -------------------------------------------
169  // ECAL TPG - RCT
170  // -------------------------------------------
172  ibooker.book2D("ecalTpgRctLeadingEmRank", "ECAL TPG-RCT: rank", R6BINS, R6MIN, R6MAX, R6BINS, R6MIN, R6MAX);
175 
177  ibooker.book2D("ecalTpgRctLeadingEmEta", "ECAL TPG-RCT: #eta", 15, -0.5, 14.5, TPETABINS, TPETAMIN, TPETAMAX);
181  ibooker.book2D("ecalTpgRctLeadingEmEta2", "ECAL TPG-RCT: #eta (2)", 13, -6.5, 6.5, TPETABINS, TPETAMIN, TPETAMAX);
184  ecalTpgRctLeadingEmPhi_ = ibooker.book2D(
185  "ecalTpgRctLeadingEmPhi", "ECAL TPG-RCT: #phi", PHIBINS, PHIMIN, PHIMAX, TPPHIBINS, TPPHIMIN, TPPHIMAX);
188  //}
189 }
const unsigned int R6BINS
Definition: L1TCompare.cc:71
const float ETAMAX
Definition: L1TCompare.cc:79
MonitorElement * rctGctLeadingIsoEmRank_
Definition: L1TCompare.h:85
const unsigned int ETABINS
Definition: L1TCompare.cc:77
const float TPETAMIN
Definition: L1TCompare.cc:87
MonitorElement * rctGctLeadingIsoEmEta_
Definition: L1TCompare.h:83
const float ETAMIN
Definition: L1TCompare.cc:78
MonitorElement * ecalTpgRctLeadingEmEta2_
Definition: L1TCompare.h:93
const unsigned int TPPHIBINS
Definition: L1TCompare.cc:82
const float PHIMAX
Definition: L1TCompare.cc:68
const unsigned int PHIBINS
Definition: L1TCompare.cc:66
MonitorElement * ecalTpgRctLeadingEmRank_
Definition: L1TCompare.h:95
const float TPETAMAX
Definition: L1TCompare.cc:88
const unsigned int TPETABINS
Definition: L1TCompare.cc:86
MonitorElement * rctGctLeadingNonIsoEmEta_
Definition: L1TCompare.h:87
const float R6MAX
Definition: L1TCompare.cc:73
const float PHIMIN
Definition: L1TCompare.cc:67
const float TPPHIMIN
Definition: L1TCompare.cc:83
const float R6MIN
Definition: L1TCompare.cc:72
const float TPPHIMAX
Definition: L1TCompare.cc:84
MonitorElement * rctGctLeadingIsoEmPhi_
Definition: L1TCompare.h:84
MonitorElement * ecalTpgRctLeadingEmEta_
Definition: L1TCompare.h:92
MonitorElement * rctGctLeadingNonIsoEmPhi_
Definition: L1TCompare.h:88
MonitorElement * rctGctLeadingNonIsoEmRank_
Definition: L1TCompare.h:89
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * ecalTpgRctLeadingEmPhi_
Definition: L1TCompare.h:94
void L1TCompare::dqmBeginRun ( edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 127 of file L1TCompare.cc.

127  {
128  //
129 }
static bool L1TCompare::rctObjectComp ( const RctObject a,
const RctObject b 
)
inlinestaticprivate

Definition at line 128 of file L1TCompare.h.

References L1TCompare::RctObject::eta_, L1TCompare::RctObject::phi_, and L1TCompare::RctObject::rank_.

Referenced by analyze().

128  {
129  // for equal rank I don't know what the appropriate sorting is.
130  if (a.rank_ == b.rank_) {
131  if (a.eta_ == b.eta_) {
132  return a.phi_ < b.phi_;
133  } else {
134  return a.eta_ < b.eta_;
135  }
136  } else {
137  return a.rank_ < b.rank_;
138  }
139  }
double b
Definition: hdecay.h:118
double a
Definition: hdecay.h:119
bool L1TCompare::verbose ( ) const
inlineprivate

Definition at line 100 of file L1TCompare.h.

References monitorDaemon_, and verbose_.

Referenced by analyze(), and L1TCompare().

100 { return verbose_; };
bool verbose_
Definition: L1TCompare.h:99

Member Data Documentation

MonitorElement* L1TCompare::ecalTpgRctLeadingEmEta2_
private

Definition at line 93 of file L1TCompare.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TCompare::ecalTpgRctLeadingEmEta_
private

Definition at line 92 of file L1TCompare.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TCompare::ecalTpgRctLeadingEmPhi_
private

Definition at line 94 of file L1TCompare.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TCompare::ecalTpgRctLeadingEmRank_
private

Definition at line 95 of file L1TCompare.h.

Referenced by analyze(), and bookHistograms().

edm::InputTag L1TCompare::ecalTpgSource_
private

Definition at line 108 of file L1TCompare.h.

Referenced by analyze().

edm::EDGetTokenT<EcalTrigPrimDigiCollection> L1TCompare::ecalTpgSource_token_
private

Definition at line 109 of file L1TCompare.h.

Referenced by analyze().

edm::EDGetTokenT<L1GctJetCandCollection> L1TCompare::gctCenJetsToken_
private

Definition at line 112 of file L1TCompare.h.

Referenced by analyze(), and L1TCompare().

edm::EDGetTokenT<L1GctEmCandCollection> L1TCompare::gctIsoEmCandsToken_
private

Definition at line 113 of file L1TCompare.h.

Referenced by analyze(), and L1TCompare().

edm::EDGetTokenT<L1GctEmCandCollection> L1TCompare::gctNonIsoEmCandsToken_
private

Definition at line 114 of file L1TCompare.h.

Referenced by analyze(), and L1TCompare().

edm::InputTag L1TCompare::gctSource_
private

Definition at line 107 of file L1TCompare.h.

Referenced by L1TCompare().

std::ofstream L1TCompare::logFile_
private

Definition at line 102 of file L1TCompare.h.

bool L1TCompare::monitorDaemon_
private

Definition at line 100 of file L1TCompare.h.

Referenced by verbose().

int L1TCompare::nev_
private

Definition at line 97 of file L1TCompare.h.

Referenced by analyze(), and bookHistograms().

std::string L1TCompare::outputFile_
private

Definition at line 98 of file L1TCompare.h.

Referenced by L1TCompare().

MonitorElement* L1TCompare::rctGctLeadingIsoEmEta_
private

Definition at line 83 of file L1TCompare.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TCompare::rctGctLeadingIsoEmPhi_
private

Definition at line 84 of file L1TCompare.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TCompare::rctGctLeadingIsoEmRank_
private

Definition at line 85 of file L1TCompare.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TCompare::rctGctLeadingNonIsoEmEta_
private

Definition at line 87 of file L1TCompare.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TCompare::rctGctLeadingNonIsoEmPhi_
private

Definition at line 88 of file L1TCompare.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TCompare::rctGctLeadingNonIsoEmRank_
private

Definition at line 89 of file L1TCompare.h.

Referenced by analyze(), and bookHistograms().

edm::InputTag L1TCompare::rctSource_
private

Definition at line 106 of file L1TCompare.h.

Referenced by analyze().

edm::EDGetTokenT<L1CaloEmCollection> L1TCompare::rctSourceEm_token_
private

Definition at line 104 of file L1TCompare.h.

Referenced by analyze().

edm::EDGetTokenT<L1CaloRegionCollection> L1TCompare::rctSourceRctEmRgn_token_
private

Definition at line 105 of file L1TCompare.h.

Referenced by analyze().

bool L1TCompare::verbose_
private

Definition at line 99 of file L1TCompare.h.

Referenced by L1TCompare(), and verbose().