CMS 3D CMS Logo

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

#include <L1TDTTPG.h>

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

 L1TDTTPG (const edm::ParameterSet &ps)
 
 ~L1TDTTPG () 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 Member Functions

void setMapPhLabel (MonitorElement *me)
 
void setMapThLabel (MonitorElement *me)
 

Private Attributes

MonitorElementdttf_p_phi [3]
 
MonitorElementdttf_p_pt [3]
 
MonitorElementdttf_p_q [3]
 
MonitorElementdttf_p_qual [3]
 
MonitorElementdttpgphbestmap
 
MonitorElementdttpgphbestmapcorr
 
MonitorElementdttpgphbx [8]
 
MonitorElementdttpgphbxcomp
 
MonitorElementdttpgphmap
 
MonitorElementdttpgphmap2nd
 
MonitorElementdttpgphmapbx [3]
 
MonitorElementdttpgphmapcorr
 
MonitorElementdttpgphntrack
 
MonitorElementdttpgphquality [3]
 
MonitorElementdttpgphsector [3]
 
MonitorElementdttpgphstation [3]
 
MonitorElementdttpgphts2tag [3]
 
MonitorElementdttpgphwheel [3]
 
edm::InputTag dttpgSource_
 
edm::EDGetTokenT< L1MuDTChambPhContainerdttpgSourcePhContainer_token_
 
edm::EDGetTokenT< L1MuDTChambThContainerdttpgSourceThContainer_token_
 
MonitorElementdttpgthbestmap
 
MonitorElementdttpgthbestmaph
 
MonitorElementdttpgthbx [3]
 
MonitorElementdttpgthmap
 
MonitorElementdttpgthmapbx [3]
 
MonitorElementdttpgthmaph
 
MonitorElementdttpgthntrack
 
MonitorElementdttpgthquality [3]
 
MonitorElementdttpgthsector [3]
 
MonitorElementdttpgthstation [3]
 
MonitorElementdttpgththeta [3]
 
MonitorElementdttpgthwheel [3]
 
std::ofstream logFile_
 
bool monitorDaemon_
 
int nev_
 
std::string outputFile_
 
std::string trstring_
 
edm::EDGetTokenT< L1MuDTTrackContainertrToken_
 
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 39 of file L1TDTTPG.h.

Constructor & Destructor Documentation

L1TDTTPG::L1TDTTPG ( const edm::ParameterSet ps)

Definition at line 93 of file L1TDTTPG.cc.

References gather_cfg::cout, dttpgSource_, edm::ParameterSet::getUntrackedParameter(), edm::InputTag::label(), outputFile_, edm::InputTag::process(), trstring_, trToken_, and verbose_.

94  : dttpgSourcePhContainer_token_(consumes<L1MuDTChambPhContainer>(ps.getParameter<InputTag>("dttpgSource"))),
95  dttpgSourceThContainer_token_(consumes<L1MuDTChambThContainer>(ps.getParameter<InputTag>("dttpgSource"))),
96  dttpgSource_(ps.getParameter<InputTag>("dttpgSource")) {
97  trstring_ = dttpgSource_.label() + ":" + "DATA" + ":" + dttpgSource_.process();
98  trToken_ = consumes<L1MuDTTrackContainer>(trstring_);
99 
100  // verbosity switch
101  verbose_ = ps.getUntrackedParameter<bool>("verbose", false);
102 
103  if (verbose_)
104  cout << "L1TDTTPG: constructor...." << endl;
105 
106  outputFile_ = ps.getUntrackedParameter<string>("outputFile", "");
107  if (!outputFile_.empty()) {
108  cout << "L1T Monitoring histograms will be saved to " << outputFile_.c_str() << endl;
109  }
110 
111  bool disable = ps.getUntrackedParameter<bool>("disableROOToutput", false);
112  if (disable) {
113  outputFile_ = "";
114  }
115 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< L1MuDTChambThContainer > dttpgSourceThContainer_token_
Definition: L1TDTTPG.h:103
edm::EDGetTokenT< L1MuDTTrackContainer > trToken_
Definition: L1TDTTPG.h:107
std::string outputFile_
Definition: L1TDTTPG.h:98
edm::InputTag dttpgSource_
Definition: L1TDTTPG.h:104
edm::EDGetTokenT< L1MuDTChambPhContainer > dttpgSourcePhContainer_token_
Definition: L1TDTTPG.h:102
std::string const & label() const
Definition: InputTag.h:36
std::string const & process() const
Definition: InputTag.h:40
std::string trstring_
Definition: L1TDTTPG.h:106
bool verbose_
Definition: L1TDTTPG.h:99
L1TDTTPG::~L1TDTTPG ( )
override

Definition at line 117 of file L1TDTTPG.cc.

117 {}

Member Function Documentation

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

Definition at line 248 of file L1TDTTPG.cc.

References l1GtPatternGenerator_cfi::bx, L1MuDTChambPhDigi::code(), gather_cfg::cout, dttf_p_phi, dttf_p_pt, dttf_p_q, dttf_p_qual, dttpgphbestmap, dttpgphbestmapcorr, dttpgphbx, dttpgphbxcomp, dttpgphmap, dttpgphmap2nd, dttpgphmapbx, dttpgphmapcorr, dttpgphntrack, dttpgphquality, dttpgphsector, dttpgphstation, dttpgphts2tag, dttpgphwheel, dttpgSource_, dttpgSourcePhContainer_token_, dttpgSourceThContainer_token_, dttpgthbestmap, dttpgthbestmaph, dttpgthbx, dttpgthmap, dttpgthmapbx, dttpgthmaph, dttpgthntrack, dttpgthquality, dttpgthsector, dttpgthstation, dttpgththeta, dttpgthwheel, dqm::impl::MonitorElement::Fill(), edm::Event::getByToken(), L1MuDTChambPhContainer::getContainer(), L1MuDTChambThContainer::getContainer(), L1MuDTTrackContainer::getContainer(), mps_fire::i, edm::HandleBase::isValid(), dqmiolumiharvest::j, dqmdumpme::k, edm::InputTag::label(), nev_, OrderedSet::t, trToken_, and verbose_.

248  {
249  nev_++;
250  if (verbose_)
251  cout << "L1TDTTPG: analyze...." << endl;
252 
253  edm::Handle<L1MuDTChambPhContainer> myL1MuDTChambPhContainer;
254  e.getByToken(dttpgSourcePhContainer_token_, myL1MuDTChambPhContainer);
255 
256  if (!myL1MuDTChambPhContainer.isValid()) {
257  edm::LogInfo("DataNotFound") << "can't find L1MuDTChambPhContainer with label " << dttpgSource_.label();
258  return;
259  }
260  L1MuDTChambPhContainer::Phi_Container const *myPhContainer = myL1MuDTChambPhContainer->getContainer();
261 
262  edm::Handle<L1MuDTChambThContainer> myL1MuDTChambThContainer;
263  e.getByToken(dttpgSourceThContainer_token_, myL1MuDTChambThContainer);
264 
265  if (!myL1MuDTChambThContainer.isValid()) {
266  edm::LogInfo("DataNotFound") << "can't find L1MuDTChambThContainer with label " << dttpgSource_.label();
267  edm::LogInfo("DataNotFound") << "if this fails try to add DATA to the process name.";
268 
269  return;
270  }
271  L1MuDTChambThContainer::The_Container const *myThContainer = myL1MuDTChambThContainer->getContainer();
272 
273  int ndttpgphtrack = 0;
274  int ndttpgthtrack = 0;
275  int NumberOfSegmentsPhi[3] = {0, 0, 0};
276 
277  for (L1MuDTChambPhContainer::Phi_Container::const_iterator DTPhDigiItr = myPhContainer->begin();
278  DTPhDigiItr != myPhContainer->end();
279  ++DTPhDigiItr) {
280  int bx = DTPhDigiItr->bxNum() - DTPhDigiItr->Ts2Tag();
281  if (bx == -1)
282  NumberOfSegmentsPhi[0]++;
283  if (bx == 0)
284  NumberOfSegmentsPhi[1]++;
285  if (bx == 1)
286  NumberOfSegmentsPhi[2]++;
287  }
288  /*Fill Histos for Segment counter for each bx separately */
289 
290  for (int k = 0; k < 3; k++) {
291  dttpgphbx[k + 2]->Fill(NumberOfSegmentsPhi[k]);
292  }
293  int bxCounterDttfPhi = 0; // = no. of BX's with non-zero data
294  for (int k = 0; k < 3; k++) {
295  if (NumberOfSegmentsPhi[k] > 0)
296  bxCounterDttfPhi++;
297  }
298 
299  /* the BX "code" */
300 
301  int bxCodePhi = 0;
302  if (bxCounterDttfPhi == 0) {
303  bxCodePhi = 0;
304  } else if (bxCounterDttfPhi == 1) {
305  for (int k = 0; k < 3; k++) {
306  if (NumberOfSegmentsPhi[k] > 0)
307  bxCodePhi = k + 2;
308  }
309  } else if (bxCounterDttfPhi == 2) {
310  for (int k = 0; k < 3; k++) {
311  if (NumberOfSegmentsPhi[k] == 0)
312  bxCodePhi = 8 - k;
313  }
314  } else if (bxCounterDttfPhi == 3) {
315  bxCodePhi = 10;
316  }
317 
318  //The bx analyzer histo
319  dttpgphbx[0]->Fill(bxCodePhi);
320 
321  const L1MuDTChambPhDigi *bestPhQualMap[5][12][4];
322  memset(bestPhQualMap, 0, 240 * sizeof(L1MuDTChambPhDigi *));
323 
324  for (L1MuDTChambPhContainer::Phi_Container::const_iterator DTPhDigiItr = myPhContainer->begin();
325  DTPhDigiItr != myPhContainer->end();
326  ++DTPhDigiItr) {
327  ndttpgphtrack++;
328 
329  int bxindex = DTPhDigiItr->bxNum() - DTPhDigiItr->Ts2Tag() + 1;
330 
331  dttpgphwheel[bxindex]->Fill(DTPhDigiItr->whNum());
332  if (verbose_) {
333  cout << "DTTPG phi wheel number " << DTPhDigiItr->whNum() << endl;
334  }
335  dttpgphstation[bxindex]->Fill(DTPhDigiItr->stNum());
336  if (verbose_) {
337  cout << "DTTPG phi station number " << DTPhDigiItr->stNum() << endl;
338  }
339  dttpgphsector[bxindex]->Fill(DTPhDigiItr->scNum());
340  if (verbose_) {
341  cout << "DTTPG phi sector number " << DTPhDigiItr->scNum() << endl;
342  }
343  dttpgphquality[bxindex]->Fill(DTPhDigiItr->code());
344  if (verbose_) {
345  cout << "DTTPG phi quality " << DTPhDigiItr->code() << endl;
346  }
347  dttpgphts2tag[bxindex]->Fill(DTPhDigiItr->Ts2Tag());
348  if (verbose_) {
349  cout << "DTTPG phi ts2tag " << DTPhDigiItr->Ts2Tag() << endl;
350  }
351  int ypos = DTPhDigiItr->scNum();
352  int xpos = DTPhDigiItr->stNum() + 4 * (DTPhDigiItr->whNum() + 2);
353  dttpgphmap->Fill(xpos, ypos);
354  if (DTPhDigiItr->Ts2Tag())
355  dttpgphmap2nd->Fill(xpos, ypos);
356  dttpgphmapbx[bxindex]->Fill(xpos, ypos);
357  if (DTPhDigiItr->code() > 3)
358  dttpgphmapcorr->Fill(xpos, ypos);
359 
360  if (bestPhQualMap[DTPhDigiItr->whNum() + 2][DTPhDigiItr->scNum()][DTPhDigiItr->stNum() - 1] == nullptr ||
361  bestPhQualMap[DTPhDigiItr->whNum() + 2][DTPhDigiItr->scNum()][DTPhDigiItr->stNum() - 1]->code() <
362  DTPhDigiItr->code()) {
363  bestPhQualMap[DTPhDigiItr->whNum() + 2][DTPhDigiItr->scNum()][DTPhDigiItr->stNum() - 1] = &(*DTPhDigiItr);
364  }
365  }
366 
367  for (int iwh = 0; iwh < 5; iwh++) {
368  for (int isec = 0; isec < 12; isec++) {
369  for (int ist = 0; ist < 4; ist++) {
370  if (bestPhQualMap[iwh][isec][ist]) {
371  int xpos = iwh * 4 + ist + 1;
372  dttpgphbestmap->Fill(xpos, isec);
373  if (bestPhQualMap[iwh][isec][ist]->code() > 3)
374  dttpgphbestmapcorr->Fill(xpos, isec);
375  }
376  }
377  }
378  }
379 
380  int bestThQualMap[5][12][3];
381  memset(bestThQualMap, 0, 180 * sizeof(int));
382  //for( vector<L1MuDTChambThDigi>::const_iterator
383  for (L1MuDTChambThContainer::The_Container::const_iterator DTThDigiItr = myThContainer->begin();
384  DTThDigiItr != myThContainer->end();
385  ++DTThDigiItr) {
386  ndttpgthtrack++;
387 
388  int bxindex = DTThDigiItr->bxNum() + 1;
389 
390  dttpgthwheel[bxindex]->Fill(DTThDigiItr->whNum());
391  if (verbose_) {
392  cout << "DTTPG theta wheel number " << DTThDigiItr->whNum() << endl;
393  }
394  dttpgthstation[bxindex]->Fill(DTThDigiItr->stNum());
395  if (verbose_) {
396  cout << "DTTPG theta station number " << DTThDigiItr->stNum() << endl;
397  }
398  dttpgthsector[bxindex]->Fill(DTThDigiItr->scNum());
399  if (verbose_) {
400  cout << "DTTPG theta sector number " << DTThDigiItr->scNum() << endl;
401  }
402  dttpgthbx[bxindex]->Fill(DTThDigiItr->bxNum());
403  if (verbose_) {
404  cout << "DTTPG theta bx number " << DTThDigiItr->bxNum() << endl;
405  }
406  int thcode[7] = {0, 0, 0, 0, 0, 0, 0};
407  for (int j = 0; j < 7; j++) {
408  dttpgththeta[bxindex]->Fill(DTThDigiItr->position(j));
409  if (verbose_) {
410  cout << "DTTPG theta position " << DTThDigiItr->position(j) << endl;
411  }
412  thcode[j] = DTThDigiItr->code(j);
413  dttpgthquality[bxindex]->Fill(thcode[j]);
414  if (verbose_) {
415  cout << "DTTPG theta quality " << DTThDigiItr->code(j) << endl;
416  }
417  }
418 
419  int ypos = DTThDigiItr->scNum();
420  int xpos = DTThDigiItr->stNum() + 4 * (DTThDigiItr->whNum() + 2);
421  int bestqual = 0;
422  dttpgthmap->Fill(xpos, ypos);
423  dttpgthmapbx[bxindex]->Fill(xpos, ypos);
424  for (int pos = 0; pos < 7; pos++) {
425  if (thcode[pos] > bestqual)
426  bestqual = thcode[pos];
427  if (thcode[pos] == 2)
428  dttpgthmaph->Fill(xpos, ypos);
429  }
430 
431  if (bestThQualMap[DTThDigiItr->whNum() + 2][DTThDigiItr->scNum()][DTThDigiItr->stNum() - 1] < bestqual) {
432  bestThQualMap[DTThDigiItr->whNum() + 2][DTThDigiItr->scNum()][DTThDigiItr->stNum() - 1] = bestqual;
433  }
434  }
435 
436  for (int iwh = 0; iwh < 5; iwh++) {
437  for (int isec = 0; isec < 12; isec++) {
438  for (int ist = 0; ist < 3; ist++) {
439  if (bestThQualMap[iwh][isec][ist]) {
440  int xpos = iwh * 4 + ist + 1;
441  dttpgthbestmap->Fill(xpos, isec);
442  if (bestThQualMap[iwh][isec][ist] == 2)
443  dttpgthbestmaph->Fill(xpos, isec);
444  }
445  }
446  }
447  }
448 
449  dttpgphntrack->Fill(ndttpgphtrack);
450  if (verbose_) {
451  cout << "DTTPG phi ntrack " << ndttpgphtrack << endl;
452  }
453  dttpgthntrack->Fill(ndttpgthtrack);
454  if (verbose_) {
455  cout << "DTTPG theta ntrack " << ndttpgthtrack << endl;
456  }
457 
458  edm::Handle<L1MuDTTrackContainer> myL1MuDTTrackContainer;
459  e.getByToken(trToken_, myL1MuDTTrackContainer);
460 
461  if (!myL1MuDTTrackContainer.isValid()) {
462  edm::LogInfo("DataNotFound") << "can't find L1MuDTTrackContainer with label " << dttpgSource_.label();
463  return;
464  }
465 
466  L1MuDTTrackContainer::TrackContainer const *t = myL1MuDTTrackContainer->getContainer();
467 
468  int NumberOfSegmentsOut[3] = {0, 0, 0};
469  for (L1MuDTTrackContainer::TrackContainer::const_iterator i = t->begin(); i != t->end(); ++i) {
470  if (i->bx() == -1)
471  NumberOfSegmentsOut[0]++;
472  if (i->bx() == 0)
473  NumberOfSegmentsOut[1]++;
474  if (i->bx() == 1)
475  NumberOfSegmentsOut[2]++;
476  }
477 
478  /*Fill Histos for Segment counter*/
479  for (int k = 0; k < 3; k++) {
480  dttpgphbx[k + 5]->Fill(NumberOfSegmentsOut[k]);
481  }
482 
483  /*Bunch assigments*/
484 
485  int bxCounterDttfOut = 0;
486  for (int k = 0; k < 3; k++) {
487  if (NumberOfSegmentsOut[k] > 0)
488  bxCounterDttfOut++;
489  }
490 
491  int bxCodeOut = 0;
492  if (bxCounterDttfOut == 0) {
493  bxCodeOut = 0;
494  } else if (bxCounterDttfOut == 1) {
495  for (int k = 0; k < 3; k++) {
496  if (NumberOfSegmentsOut[k] > 0)
497  bxCodeOut = k + 2;
498  }
499  } else if (bxCounterDttfOut == 2) {
500  for (int k = 0; k < 3; k++) {
501  if (NumberOfSegmentsOut[k] == 0)
502  bxCodeOut = 8 - k;
503  }
504  } else if (bxCounterDttfOut == 3) {
505  bxCodeOut = 10;
506  }
507 
508  //The bx analyzer histo
509  dttpgphbx[1]->Fill(bxCodeOut);
510 
511  /*End Dttf Output Bunch analysis*/
512 
513  // the 2-DIM histo with phi.input vs. output
514  dttpgphbxcomp->Fill(bxCodePhi, bxCodeOut);
515 
516  for (L1MuDTTrackContainer::TrackContainer::const_iterator i = t->begin(); i != t->end(); ++i) {
517  if (verbose_) {
518  std::cout << "bx = " << i->bx() << std::endl;
519  std::cout << "quality (packed) = " << i->quality_packed() << std::endl;
520  std::cout << "pt (packed) = " << i->pt_packed() << std::endl;
521  std::cout << "phi (packed) = " << i->phi_packed() << std::endl;
522  std::cout << "charge (packed) = " << i->charge_packed() << std::endl;
523  }
524 
525  int bxindex = i->bx() + 1;
526  dttf_p_phi[bxindex]->Fill(i->phi_packed());
527  dttf_p_qual[bxindex]->Fill(i->quality_packed());
528  dttf_p_pt[bxindex]->Fill(i->pt_packed());
529  dttf_p_q[bxindex]->Fill(i->charge_packed());
530  }
531 }
The_Container const * getContainer() const
MonitorElement * dttpgthbestmaph
Definition: L1TDTTPG.h:90
MonitorElement * dttf_p_phi[3]
Definition: L1TDTTPG.h:92
MonitorElement * dttpgphmap
Definition: L1TDTTPG.h:72
MonitorElement * dttpgphbestmapcorr
Definition: L1TDTTPG.h:77
MonitorElement * dttpgphmapcorr
Definition: L1TDTTPG.h:75
MonitorElement * dttpgphbx[8]
Definition: L1TDTTPG.h:61
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
int nev_
Definition: L1TDTTPG.h:97
edm::EDGetTokenT< L1MuDTChambThContainer > dttpgSourceThContainer_token_
Definition: L1TDTTPG.h:103
MonitorElement * dttpgththeta[3]
Definition: L1TDTTPG.h:83
MonitorElement * dttpgphwheel[3]
Definition: L1TDTTPG.h:63
MonitorElement * dttpgthbestmap
Definition: L1TDTTPG.h:89
MonitorElement * dttpgphbxcomp
Definition: L1TDTTPG.h:62
edm::EDGetTokenT< L1MuDTTrackContainer > trToken_
Definition: L1TDTTPG.h:107
MonitorElement * dttpgthmaph
Definition: L1TDTTPG.h:88
MonitorElement * dttpgthsector[3]
Definition: L1TDTTPG.h:81
void Fill(long long x)
MonitorElement * dttpgthmapbx[3]
Definition: L1TDTTPG.h:87
MonitorElement * dttpgthwheel[3]
Definition: L1TDTTPG.h:80
MonitorElement * dttpgthmap
Definition: L1TDTTPG.h:86
std::vector< L1MuDTTrackCand > TrackContainer
MonitorElement * dttf_p_qual[3]
Definition: L1TDTTPG.h:95
MonitorElement * dttpgthbx[3]
Definition: L1TDTTPG.h:79
MonitorElement * dttpgthquality[3]
Definition: L1TDTTPG.h:84
std::vector< L1MuDTChambPhDigi > Phi_Container
MonitorElement * dttf_p_pt[3]
Definition: L1TDTTPG.h:93
std::vector< L1MuDTChambThDigi > The_Container
bool isValid() const
Definition: HandleBase.h:70
MonitorElement * dttpgphbestmap
Definition: L1TDTTPG.h:76
MonitorElement * dttpgthntrack
Definition: L1TDTTPG.h:85
edm::InputTag dttpgSource_
Definition: L1TDTTPG.h:104
MonitorElement * dttpgphts2tag[3]
Definition: L1TDTTPG.h:69
MonitorElement * dttpgphntrack
Definition: L1TDTTPG.h:71
Phi_Container const * getContainer() const
edm::EDGetTokenT< L1MuDTChambPhContainer > dttpgSourcePhContainer_token_
Definition: L1TDTTPG.h:102
MonitorElement * dttf_p_q[3]
Definition: L1TDTTPG.h:94
std::string const & label() const
Definition: InputTag.h:36
MonitorElement * dttpgphmapbx[3]
Definition: L1TDTTPG.h:73
bool verbose_
Definition: L1TDTTPG.h:99
MonitorElement * dttpgthstation[3]
Definition: L1TDTTPG.h:82
MonitorElement * dttpgphsector[3]
Definition: L1TDTTPG.h:64
TrackContainer const * getContainer() const
MonitorElement * dttpgphquality[3]
Definition: L1TDTTPG.h:68
MonitorElement * dttpgphmap2nd
Definition: L1TDTTPG.h:74
MonitorElement * dttpgphstation[3]
Definition: L1TDTTPG.h:65
void L1TDTTPG::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 123 of file L1TDTTPG.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), dttf_p_phi, dttf_p_pt, dttf_p_q, dttf_p_qual, dttpgphbestmap, dttpgphbestmapcorr, dttpgphbx, dttpgphbxcomp, dttpgphmap, dttpgphmap2nd, dttpgphmapbx, dttpgphmapcorr, dttpgphntrack, dttpgphquality, dttpgphsector, dttpgphstation, dttpgphts2tag, dttpgphwheel, dttpgthbestmap, dttpgthbestmaph, dttpgthbx, dttpgthmap, dttpgthmapbx, dttpgthmaph, dttpgthntrack, dttpgthquality, dttpgthsector, dttpgthstation, dttpgththeta, dttpgthwheel, mps_fire::i, nev_, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), setMapPhLabel(), and setMapThLabel().

123  {
124  nev_ = 0;
125  ibooker.setCurrentFolder("L1T/L1TDTTPG");
126 
127  //hist1[0]
128  dttpgphbx[0] = ibooker.book1D("BxEncoding_PHI", "Bunch encoding DTTF Phi", 11, 0, 11);
129  //hist1[1]
130  dttpgphbx[1] = ibooker.book1D("BxEncoding_OUT", "Bunch encoding DTTF Output", 11, 0, 11);
131 
132  //hist1[2]
133  dttpgphbx[2] = ibooker.book1D("NumberOfSegmentsPHI_BunchNeg1", "Number of segments for bunch -1 Dttf Phi", 20, 0, 20);
134  //hist1[3]
135  dttpgphbx[3] = ibooker.book1D("NumberOfSegmentsPHI_Bunch0", "Number of segments for bunch 0 Dttf Phi", 20, 0, 20);
136  //hist1[4]
137  dttpgphbx[4] = ibooker.book1D("NumberOfSegmentsPHI_Bunch1", "Number of segments for bunch 1 Dttf Phi", 20, 0, 20);
138 
139  //hist1[5]
140  dttpgphbx[5] =
141  ibooker.book1D("NumberOfSegmentsOUT_BunchNeg1", "Number of segments for bunch -1 Dttf Output", 20, 0, 20);
142  //hist1[6]
143  dttpgphbx[6] = ibooker.book1D("NumberOfSegmentsOUT_Bunch0", "Number of segments for bunch 0 Dttf Output", 20, 0, 20);
144  //hist1[7]
145  dttpgphbx[7] = ibooker.book1D("NumberOfSegmentsOUT_Bunch1", "Number of segments for bunch 1 Dttf Output", 20, 0, 20);
146 
147  for (int i = 0; i < 2; i++) {
148  dttpgphbx[i]->setBinLabel(1, "None");
149  dttpgphbx[i]->setBinLabel(3, "Only bx=-1");
150  dttpgphbx[i]->setBinLabel(4, "Only bx= 0");
151  dttpgphbx[i]->setBinLabel(5, "Only bx=+1");
152  dttpgphbx[i]->setBinLabel(7, "Bx=-1,0");
153  dttpgphbx[i]->setBinLabel(8, "Bx=-1,1");
154  dttpgphbx[i]->setBinLabel(9, "Bx= 0,1");
155  dttpgphbx[i]->setBinLabel(11, "All bx");
156  }
157 
158  dttpgphbxcomp = ibooker.book2D("BxEncoding_PHI_OUT", "Bunch encoding: DTTF Phi vs. Output", 11, 0, 11, 11, 0, 11);
159  dttpgphbxcomp->setAxisTitle("DTTF (output)", 1);
160  dttpgphbxcomp->setAxisTitle("PHI-TF", 2);
161  for (int i = 1; i <= 2; i++) {
162  dttpgphbxcomp->setBinLabel(1, "None", i);
163  dttpgphbxcomp->setBinLabel(3, "Only bx=-1", i);
164  dttpgphbxcomp->setBinLabel(4, "Only bx= 0", i);
165  dttpgphbxcomp->setBinLabel(5, "Only bx=+1", i);
166  dttpgphbxcomp->setBinLabel(7, "Bx=-1,0", i);
167  dttpgphbxcomp->setBinLabel(8, "Bx=-1,1", i);
168  dttpgphbxcomp->setBinLabel(9, "Bx= 0,1", i);
169  dttpgphbxcomp->setBinLabel(11, "All bx", i);
170  }
171 
172  dttpgphntrack = ibooker.book1D("DT_TPG_phi_ntrack", "DT TPG phi ntrack", 20, -0.5, 19.5);
173  dttpgthntrack = ibooker.book1D("DT_TPG_theta_ntrack", "DT TPG theta ntrack", 20, -0.5, 19.5);
174 
175  for (int ibx = 0; ibx <= 2; ibx++) {
176  ostringstream bxnum;
177  bxnum << ibx - 1;
178  string bxn;
179  if (ibx < 2)
180  bxn = bxnum.str();
181  else
182  bxn = "+" + bxnum.str();
183 
184  // Phi
185  dttpgphwheel[ibx] =
186  ibooker.book1D("DT_TPG_phi_wheel_number_" + bxn, "DT TPG phi wheel number " + bxn, 5, -2.5, 2.5);
187  dttpgphsector[ibx] =
188  ibooker.book1D("DT_TPG_phi_sector_number_" + bxn, "DT TPG phi sector number " + bxn, 12, -0.5, 11.5);
189  dttpgphstation[ibx] =
190  ibooker.book1D("DT_TPG_phi_station_number_" + bxn, "DT TPG phi station number " + bxn, 5, 0.5, 4.5);
191  // dttpgphphi[ibx] = dbe->book1D("DT_TPG_phi_"+bxn,
192  // "DT TPG phi "+bxn, 100, -2100., 2100. ) ;
193  // dttpgphphiB[ibx] = dbe->book1D("DT_TPG_phiB_"+bxn,
194  // "DT TPG phiB "+bxn, 100, -550., 550. ) ;
195  dttpgphquality[ibx] = ibooker.book1D("DT_TPG_phi_quality_" + bxn, "DT TPG phi quality " + bxn, 8, -0.5, 7.5);
196  dttpgphts2tag[ibx] = ibooker.book1D("DT_TPG_phi_Ts2Tag_" + bxn, "DT TPG phi Ts2Tag " + bxn, 2, -0.5, 1.5);
197  // dttpgphbxcnt[ibx] = dbe->book1D("DT_TPG_phi_BxCnt_"+bxn,
198  // "DT TPG phi BxCnt "+bxn, 10, -0.5, 9.5 ) ;
199  dttpgphmapbx[ibx] =
200  ibooker.book2D("DT_TPG_phi_map_bx" + bxn, "Map of triggers per station (BX=" + bxn + ")", 20, 1, 21, 12, 0, 12);
202 
203  //Theta
204  dttpgthbx[ibx] = ibooker.book1D("DT_TPG_theta_bx_" + bxn, "DT TPG theta bx " + bxn, 50, -24.5, 24.5);
205  dttpgthwheel[ibx] =
206  ibooker.book1D("DT_TPG_theta_wheel_number_" + bxn, "DT TPG theta wheel number " + bxn, 5, -2.5, 2.5);
207  dttpgthsector[ibx] =
208  ibooker.book1D("DT_TPG_theta_sector_number_" + bxn, "DT TPG theta sector number " + bxn, 12, -0.5, 11.5);
209  dttpgthstation[ibx] =
210  ibooker.book1D("DT_TPG_theta_station_number_" + bxn, "DT TPG theta station number " + bxn, 5, -0.5, 4.5);
211  dttpgththeta[ibx] = ibooker.book1D("DT_TPG_theta_" + bxn, "DT TPG theta " + bxn, 20, -0.5, 19.5);
212  dttpgthquality[ibx] = ibooker.book1D("DT_TPG_theta_quality_" + bxn, "DT TPG theta quality " + bxn, 8, -0.5, 7.5);
213  dttpgthmapbx[ibx] = ibooker.book2D(
214  "DT_TPG_theta_map_bx_" + bxn, "Map of triggers per station (BX=" + bxn + ")", 15, 1, 16, 12, 0, 12);
216 
217  // Phi output
218  dttf_p_phi[ibx] = ibooker.book1D("dttf_p_phi_" + bxn, "dttf phi output #phi " + bxn, 256, -0.5, 255.5);
219  dttf_p_qual[ibx] = ibooker.book1D("dttf_p_qual_" + bxn, "dttf phi output qual " + bxn, 8, -0.5, 7.5);
220  dttf_p_q[ibx] = ibooker.book1D("dttf_p_q_" + bxn, "dttf phi output q " + bxn, 2, -0.5, 1.5);
221  dttf_p_pt[ibx] = ibooker.book1D("dttf_p_pt_" + bxn, "dttf phi output p_{t} " + bxn, 32, -0.5, 31.5);
222  }
223 
224  dttpgphmap = ibooker.book2D("DT_TPG_phi_map", "Map of triggers per station", 20, 1, 21, 12, 0, 12);
226  ibooker.book2D("DT_TPG_phi_map_corr", "Map of correlated triggers per station", 20, 1, 21, 12, 0, 12);
227  dttpgphmap2nd = ibooker.book2D("DT_TPG_phi_map_2nd", "Map of second tracks per station", 20, 1, 21, 12, 0, 12);
228  dttpgphbestmap = ibooker.book2D("DT_TPG_phi_best_map", "Map of best triggers per station", 20, 1, 21, 12, 0, 12);
230  ibooker.book2D("DT_TPG_phi_best_map_corr", "Map of correlated best triggers per station", 20, 1, 21, 12, 0, 12);
236 
237  dttpgthmap = ibooker.book2D("DT_TPG_theta_map", "Map of triggers per station", 15, 1, 16, 12, 0, 12);
238  dttpgthmaph = ibooker.book2D("DT_TPG_theta_map_h", "Map of H quality triggers per station", 15, 1, 16, 12, 0, 12);
239  dttpgthbestmap = ibooker.book2D("DT_TPG_theta_best_map", "Map of besttriggers per station", 15, 1, 16, 12, 0, 12);
241  ibooker.book2D("DT_TPG_theta_best_map_h", "Map of H quality best triggers per station", 15, 1, 16, 12, 0, 12);
246 }
MonitorElement * dttpgthbestmaph
Definition: L1TDTTPG.h:90
MonitorElement * dttf_p_phi[3]
Definition: L1TDTTPG.h:92
MonitorElement * dttpgphmap
Definition: L1TDTTPG.h:72
MonitorElement * dttpgphbestmapcorr
Definition: L1TDTTPG.h:77
MonitorElement * dttpgphmapcorr
Definition: L1TDTTPG.h:75
void setMapPhLabel(MonitorElement *me)
Definition: L1TDTTPG.cc:533
MonitorElement * dttpgphbx[8]
Definition: L1TDTTPG.h:61
int nev_
Definition: L1TDTTPG.h:97
MonitorElement * dttpgththeta[3]
Definition: L1TDTTPG.h:83
MonitorElement * dttpgphwheel[3]
Definition: L1TDTTPG.h:63
MonitorElement * dttpgthbestmap
Definition: L1TDTTPG.h:89
MonitorElement * dttpgphbxcomp
Definition: L1TDTTPG.h:62
MonitorElement * dttpgthmaph
Definition: L1TDTTPG.h:88
MonitorElement * dttpgthsector[3]
Definition: L1TDTTPG.h:81
MonitorElement * dttpgthmapbx[3]
Definition: L1TDTTPG.h:87
MonitorElement * dttpgthwheel[3]
Definition: L1TDTTPG.h:80
MonitorElement * dttpgthmap
Definition: L1TDTTPG.h:86
MonitorElement * dttf_p_qual[3]
Definition: L1TDTTPG.h:95
MonitorElement * dttpgthbx[3]
Definition: L1TDTTPG.h:79
MonitorElement * dttpgthquality[3]
Definition: L1TDTTPG.h:84
MonitorElement * dttf_p_pt[3]
Definition: L1TDTTPG.h:93
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * dttpgphbestmap
Definition: L1TDTTPG.h:76
MonitorElement * dttpgthntrack
Definition: L1TDTTPG.h:85
MonitorElement * dttpgphts2tag[3]
Definition: L1TDTTPG.h:69
MonitorElement * dttpgphntrack
Definition: L1TDTTPG.h:71
MonitorElement * dttf_p_q[3]
Definition: L1TDTTPG.h:94
void setMapThLabel(MonitorElement *me)
Definition: L1TDTTPG.cc:542
MonitorElement * dttpgphmapbx[3]
Definition: L1TDTTPG.h:73
MonitorElement * dttpgthstation[3]
Definition: L1TDTTPG.h:82
MonitorElement * dttpgphsector[3]
Definition: L1TDTTPG.h:64
MonitorElement * dttpgphquality[3]
Definition: L1TDTTPG.h:68
MonitorElement * dttpgphmap2nd
Definition: L1TDTTPG.h:74
MonitorElement * dttpgphstation[3]
Definition: L1TDTTPG.h:65
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void L1TDTTPG::dqmBeginRun ( edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 119 of file L1TDTTPG.cc.

119  {
120  //empty
121 }
void L1TDTTPG::setMapPhLabel ( MonitorElement me)
private

Definition at line 533 of file L1TDTTPG.cc.

References mps_fire::i, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), and makeMuonMisalignmentScenario::wheel.

Referenced by bookHistograms().

533  {
534  me->setAxisTitle("DTTF Sector", 2);
535  for (int i = 0; i < 5; i++) {
536  ostringstream wheel;
537  wheel << i - 2;
538  me->setBinLabel(1 + i * 4, "Wheel " + wheel.str(), 1);
539  }
540 }
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void L1TDTTPG::setMapThLabel ( MonitorElement me)
private

Definition at line 542 of file L1TDTTPG.cc.

References mps_fire::i, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), and makeMuonMisalignmentScenario::wheel.

Referenced by bookHistograms().

542  {
543  me->setAxisTitle("DTTF Sector", 2);
544  for (int i = 0; i < 5; i++) {
545  ostringstream wheel;
546  wheel << i - 2;
547  me->setBinLabel(1 + i * 3, "Wheel " + wheel.str(), 1);
548  }
549 }
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

MonitorElement* L1TDTTPG::dttf_p_phi[3]
private

Definition at line 92 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttf_p_pt[3]
private

Definition at line 93 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttf_p_q[3]
private

Definition at line 94 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttf_p_qual[3]
private

Definition at line 95 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphbestmap
private

Definition at line 76 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphbestmapcorr
private

Definition at line 77 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphbx[8]
private

Definition at line 61 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphbxcomp
private

Definition at line 62 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphmap
private

Definition at line 72 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphmap2nd
private

Definition at line 74 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphmapbx[3]
private

Definition at line 73 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphmapcorr
private

Definition at line 75 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphntrack
private

Definition at line 71 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphquality[3]
private

Definition at line 68 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphsector[3]
private

Definition at line 64 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphstation[3]
private

Definition at line 65 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphts2tag[3]
private

Definition at line 69 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgphwheel[3]
private

Definition at line 63 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

edm::InputTag L1TDTTPG::dttpgSource_
private

Definition at line 104 of file L1TDTTPG.h.

Referenced by analyze(), and L1TDTTPG().

edm::EDGetTokenT<L1MuDTChambPhContainer> L1TDTTPG::dttpgSourcePhContainer_token_
private

Definition at line 102 of file L1TDTTPG.h.

Referenced by analyze().

edm::EDGetTokenT<L1MuDTChambThContainer> L1TDTTPG::dttpgSourceThContainer_token_
private

Definition at line 103 of file L1TDTTPG.h.

Referenced by analyze().

MonitorElement* L1TDTTPG::dttpgthbestmap
private

Definition at line 89 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgthbestmaph
private

Definition at line 90 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgthbx[3]
private

Definition at line 79 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgthmap
private

Definition at line 86 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgthmapbx[3]
private

Definition at line 87 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgthmaph
private

Definition at line 88 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgthntrack
private

Definition at line 85 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgthquality[3]
private

Definition at line 84 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgthsector[3]
private

Definition at line 81 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgthstation[3]
private

Definition at line 82 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgththeta[3]
private

Definition at line 83 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TDTTPG::dttpgthwheel[3]
private

Definition at line 80 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

std::ofstream L1TDTTPG::logFile_
private

Definition at line 101 of file L1TDTTPG.h.

bool L1TDTTPG::monitorDaemon_
private

Definition at line 100 of file L1TDTTPG.h.

int L1TDTTPG::nev_
private

Definition at line 97 of file L1TDTTPG.h.

Referenced by analyze(), and bookHistograms().

std::string L1TDTTPG::outputFile_
private

Definition at line 98 of file L1TDTTPG.h.

Referenced by L1TDTTPG().

std::string L1TDTTPG::trstring_
private

Definition at line 106 of file L1TDTTPG.h.

Referenced by L1TDTTPG().

edm::EDGetTokenT<L1MuDTTrackContainer> L1TDTTPG::trToken_
private

Definition at line 107 of file L1TDTTPG.h.

Referenced by analyze(), and L1TDTTPG().

bool L1TDTTPG::verbose_
private

Definition at line 99 of file L1TDTTPG.h.

Referenced by analyze(), and L1TDTTPG().