CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
EETriggerTowerTask Class Reference

#include <EETriggerTowerTask.h>

Inheritance diagram for EETriggerTowerTask:
edm::EDAnalyzer

Public Member Functions

 EETriggerTowerTask (const edm::ParameterSet &ps)
 Constructor. More...
 
virtual ~EETriggerTowerTask ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Static Public Attributes

static const int nSM = 18
 number of supermodules More...
 
static const int nTTEta = 20
 number of trigger towers in eta More...
 
static const int nTTPhi = 20
 number of trigger towers in phi More...
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze. More...
 
void beginJob (void)
 BeginJob. More...
 
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 BeginRun. More...
 
void cleanup (void)
 Cleanup. More...
 
void endJob (void)
 EndJob. More...
 
void endRun (const edm::Run &r, const edm::EventSetup &c)
 EndRun. More...
 
void reset (void)
 Reset. More...
 
void setup (void)
 Setup. More...
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Private Types

typedef std::vector
< MonitorElement * > 
array1
 1D array More...
 

Private Member Functions

void processDigis (const edm::Event &e, const edm::Handle< EcalTrigPrimDigiCollection > &digis, array1 &meEtMap, array1 &meVeto, const edm::Handle< EcalTrigPrimDigiCollection > &compDigis=edm::Handle< EcalTrigPrimDigiCollection >(), const edm::Handle< edm::TriggerResults > &hltResults=edm::Handle< edm::TriggerResults >())
 process a collection of digis, either real or emulated More...
 
void reserveArray (array1 &array)
 reserve an array to hold one histogram per supermodule More...
 
void setup (std::string const &nameext, std::string const &folder, bool emulated)
 book monitor elements for real, or emulated digis More...
 

Private Attributes

DQMStoredqmStore_
 DQM back-end interface. More...
 
edm::InputTag EEDigiCollection_
 to find the input collection of crystal digis More...
 
edm::InputTag emulCollection_
 to find the input collection of emulated digis More...
 
bool enableCleanup_
 remove MEs More...
 
std::string HLTCaloHLTBit_
 
std::string HLTMuonHLTBit_
 
edm::InputTag HLTResultsCollection_
 to find the input collection of HLT bits More...
 
int ievt_
 local event counter More...
 
bool init_
 init flag More...
 
array1 meEmulError_
 
array1 meEmulMatch_
 
MonitorElementmeEmulMatchIndex1D_ [2]
 1D emulator match 1D More...
 
MonitorElementmeEmulMatchMaxIndex1D_ [2]
 
MonitorElementmeEtBxReal_ [2]
 number and ET average of TP vs bx for the whole EE+/- More...
 
array1 meEtMapEmul_
 Emulated Et vs ix vs iy, for each SM. More...
 
array1 meEtMapReal_
 Et vs ix vs iy, for each SM. More...
 
MonitorElementmeEtSpectrumEmul_ [2]
 
MonitorElementmeEtSpectrumEmulMax_ [2]
 
MonitorElementmeEtSpectrumReal_ [2]
 ET spectrums for the whole EE+/-. More...
 
MonitorElementmeOccupancyBxReal_ [2]
 
bool mergeRuns_
 merge MEs across runs More...
 
MonitorElementmeTCCTimingCalo_ [2]
 TCC timing. More...
 
MonitorElementmeTCCTimingMuon_ [2]
 
array1 meVetoEmul_
 Emulated fine grain veto vs ix vs iy, for each SM. More...
 
array1 meVetoEmulError_
 
array1 meVetoReal_
 fine grain veto vs ix vs iy, for each SM More...
 
std::string outputFile_
 debug output root file. if empty, no output file created. More...
 
std::string prefixME_
 path to MEs More...
 
edm::InputTag realCollection_
 to find the input collection of real digis More...
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 23 of file EETriggerTowerTask.h.

Member Typedef Documentation

typedef std::vector<MonitorElement*> EETriggerTowerTask::array1
private

1D array

Definition at line 72 of file EETriggerTowerTask.h.

Constructor & Destructor Documentation

EETriggerTowerTask::EETriggerTowerTask ( const edm::ParameterSet ps)

Constructor.

Definition at line 32 of file EETriggerTowerTask.cc.

References dqmStore_, EEDigiCollection_, emulCollection_, enableCleanup_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HLTCaloHLTBit_, HLTMuonHLTBit_, HLTResultsCollection_, init_, LogDebug, meEmulError_, meEmulMatch_, meEmulMatchIndex1D_, meEmulMatchMaxIndex1D_, meEtBxReal_, meEtMapEmul_, meEtMapReal_, meEtSpectrumEmul_, meEtSpectrumEmulMax_, meEtSpectrumReal_, meOccupancyBxReal_, mergeRuns_, meTCCTimingCalo_, meTCCTimingMuon_, meVetoEmul_, meVetoEmulError_, meVetoReal_, cmsCodeRules.cppFunctionSkipper::operator, outputFile_, prefixME_, realCollection_, and reserveArray().

32  {
33 
34  init_ = false;
35 
37 
38  prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", "");
39 
40  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
41 
42  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
43 
44  meEtSpectrumReal_[0] = 0;
45  meEtSpectrumReal_[1] = 0;
46  meEtSpectrumEmul_[0] = 0;
47  meEtSpectrumEmul_[1] = 0;
48  meEtSpectrumEmulMax_[0] = 0;
49  meEtSpectrumEmulMax_[1] = 0;
50  meEtBxReal_[0] = 0;
51  meEtBxReal_[1] = 0;
52  meOccupancyBxReal_[0] = 0;
53  meOccupancyBxReal_[1] = 0;
54  meTCCTimingCalo_[0] = 0;
55  meTCCTimingCalo_[1] = 0;
56  meTCCTimingMuon_[0] = 0;
57  meTCCTimingMuon_[1] = 0;
58  meEmulMatchIndex1D_[0] = 0;
59  meEmulMatchIndex1D_[1] = 0;
62 
70 
71  realCollection_ = ps.getParameter<edm::InputTag>("EcalTrigPrimDigiCollectionReal");
72  emulCollection_ = ps.getParameter<edm::InputTag>("EcalTrigPrimDigiCollectionEmul");
73  EEDigiCollection_ = ps.getParameter<edm::InputTag>("EEDigiCollection");
74  HLTResultsCollection_ = ps.getParameter<edm::InputTag>("HLTResultsCollection");
75 
76  HLTCaloHLTBit_ = ps.getUntrackedParameter<std::string>("HLTCaloHLTBit", "");
77  HLTMuonHLTBit_ = ps.getUntrackedParameter<std::string>("HLTMuonHLTBit", "");
78 
79  outputFile_ = ps.getUntrackedParameter<std::string>("OutputRootFile", "");
80 
81  LogDebug("EETriggerTowerTask") << "REAL digis: " << realCollection_;
82  LogDebug("EETriggerTowerTask") << "EMULATED digis: " << emulCollection_;
83 
84 }
#define LogDebug(id)
bool enableCleanup_
remove MEs
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
array1 meVetoEmul_
Emulated fine grain veto vs ix vs iy, for each SM.
MonitorElement * meEtBxReal_[2]
number and ET average of TP vs bx for the whole EE+/-
std::string outputFile_
debug output root file. if empty, no output file created.
MonitorElement * meOccupancyBxReal_[2]
void reserveArray(array1 &array)
reserve an array to hold one histogram per supermodule
MonitorElement * meEtSpectrumEmul_[2]
edm::InputTag emulCollection_
to find the input collection of emulated digis
edm::InputTag HLTResultsCollection_
to find the input collection of HLT bits
DQMStore * dqmStore_
DQM back-end interface.
MonitorElement * meEmulMatchMaxIndex1D_[2]
array1 meEtMapEmul_
Emulated Et vs ix vs iy, for each SM.
array1 meVetoReal_
fine grain veto vs ix vs iy, for each SM
array1 meEtMapReal_
Et vs ix vs iy, for each SM.
std::string prefixME_
path to MEs
MonitorElement * meEtSpectrumEmulMax_[2]
bool mergeRuns_
merge MEs across runs
MonitorElement * meEtSpectrumReal_[2]
ET spectrums for the whole EE+/-.
edm::InputTag realCollection_
to find the input collection of real digis
MonitorElement * meTCCTimingCalo_[2]
TCC timing.
MonitorElement * meEmulMatchIndex1D_[2]
1D emulator match 1D
edm::InputTag EEDigiCollection_
to find the input collection of crystal digis
MonitorElement * meTCCTimingMuon_[2]
EETriggerTowerTask::~EETriggerTowerTask ( )
virtual

Destructor.

Definition at line 86 of file EETriggerTowerTask.cc.

86  {
87 
88 }

Member Function Documentation

void EETriggerTowerTask::analyze ( const edm::Event e,
const edm::EventSetup c 
)
protectedvirtual

Analyze.

Implements edm::EDAnalyzer.

Definition at line 347 of file EETriggerTowerTask.cc.

References emulCollection_, edm::Event::getByLabel(), JetPDSkim_cfg::hltResults, HLTResultsCollection_, ievt_, init_, edm::InputTag::instance(), edm::InputTag::label(), LogDebug, meEtMapEmul_, meEtMapReal_, meVetoEmul_, meVetoReal_, processDigis(), realCollection_, and setup().

347  {
348 
349  if ( ! init_ ) this->setup();
350 
351  ievt_++;
352 
354 
355  if ( e.getByLabel(realCollection_, realDigis) ) {
356 
357  int neetpd = realDigis->size();
358  LogDebug("EETriggerTowerTask") << "event " << ievt_ << " trigger primitive digi collection size: " << neetpd;
359 
360  processDigis( e,
361  realDigis,
362  meEtMapReal_,
363  meVetoReal_);
364 
365  } else {
366  edm::LogWarning("EETriggerTowerTask") << realCollection_ << " not available";
367  }
368 
370 
371  if ( e.getByLabel(emulCollection_, emulDigis) ) {
372 
374 
375  if ( !e.getByLabel(HLTResultsCollection_, hltResults) ) {
377  }
378 
379  if ( !e.getByLabel(HLTResultsCollection_, hltResults) ) {
381  }
382 
383  if ( e.getByLabel(HLTResultsCollection_, hltResults) ) {
384 
385  processDigis( e,
386  emulDigis,
387  meEtMapEmul_,
388  meVetoEmul_,
389  realDigis,
390  hltResults);
391 
392  } else {
393  edm::LogWarning("EETriggerTowerTask") << HLTResultsCollection_ << " not available";
394  }
395 
396  } else {
397  edm::LogInfo("EETriggerTowerTask") << emulCollection_ << " not available";
398  }
399 
400 }
#define LogDebug(id)
array1 meVetoEmul_
Emulated fine grain veto vs ix vs iy, for each SM.
void setup(void)
Setup.
edm::InputTag emulCollection_
to find the input collection of emulated digis
edm::InputTag HLTResultsCollection_
to find the input collection of HLT bits
void processDigis(const edm::Event &e, const edm::Handle< EcalTrigPrimDigiCollection > &digis, array1 &meEtMap, array1 &meVeto, const edm::Handle< EcalTrigPrimDigiCollection > &compDigis=edm::Handle< EcalTrigPrimDigiCollection >(), const edm::Handle< edm::TriggerResults > &hltResults=edm::Handle< edm::TriggerResults >())
process a collection of digis, either real or emulated
array1 meEtMapEmul_
Emulated Et vs ix vs iy, for each SM.
array1 meVetoReal_
fine grain veto vs ix vs iy, for each SM
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
array1 meEtMapReal_
Et vs ix vs iy, for each SM.
std::string const & label() const
Definition: InputTag.h:25
edm::InputTag realCollection_
to find the input collection of real digis
std::string const & instance() const
Definition: InputTag.h:26
int ievt_
local event counter
void EETriggerTowerTask::beginJob ( void  )
protectedvirtual

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 97 of file EETriggerTowerTask.cc.

References dqmStore_, ievt_, prefixME_, DQMStore::rmdir(), and DQMStore::setCurrentFolder().

97  {
98 
99  ievt_ = 0;
100 
101  if ( dqmStore_ ) {
102  dqmStore_->setCurrentFolder(prefixME_ + "/EETriggerTowerTask");
103  dqmStore_->rmdir(prefixME_ + "/EETriggerTowerTask");
104  }
105 
106 }
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2311
DQMStore * dqmStore_
DQM back-end interface.
std::string prefixME_
path to MEs
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
int ievt_
local event counter
void EETriggerTowerTask::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 108 of file EETriggerTowerTask.cc.

References Numbers::initGeometry(), mergeRuns_, and reset().

108  {
109 
110  Numbers::initGeometry(c, false);
111 
112  if ( ! mergeRuns_ ) this->reset();
113 
114 }
bool mergeRuns_
merge MEs across runs
static void initGeometry(const edm::EventSetup &setup, bool verbose=false)
Definition: Numbers.cc:45
void reset(void)
Reset.
void EETriggerTowerTask::cleanup ( void  )
protected

Cleanup.

Definition at line 323 of file EETriggerTowerTask.cc.

References dqmStore_, init_, outputFile_, prefixME_, DQMStore::rmdir(), and DQMStore::save().

Referenced by endJob().

323  {
324 
325  if ( ! init_ ) return;
326 
327  if ( dqmStore_ ) {
328 
329  if ( !outputFile_.empty() ) dqmStore_->save( outputFile_.c_str() );
330 
331  dqmStore_->rmdir( prefixME_ + "/EETriggerTowerTask" );
332 
333  }
334 
335  init_ = false;
336 
337 }
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2311
std::string outputFile_
debug output root file. if empty, no output file created.
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:1898
DQMStore * dqmStore_
DQM back-end interface.
std::string prefixME_
path to MEs
void EETriggerTowerTask::endJob ( void  )
protectedvirtual

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 339 of file EETriggerTowerTask.cc.

References cleanup(), enableCleanup_, and ievt_.

339  {
340 
341  edm::LogInfo("EETriggerTowerTask") << "analyzed " << ievt_ << " events";
342 
343  if ( enableCleanup_ ) this->cleanup();
344 
345 }
bool enableCleanup_
remove MEs
void cleanup(void)
Cleanup.
int ievt_
local event counter
void EETriggerTowerTask::endRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 116 of file EETriggerTowerTask.cc.

116  {
117 
118 }
void EETriggerTowerTask::processDigis ( const edm::Event e,
const edm::Handle< EcalTrigPrimDigiCollection > &  digis,
array1 meEtMap,
array1 meVeto,
const edm::Handle< EcalTrigPrimDigiCollection > &  compDigis = edm::Handle<EcalTrigPrimDigiCollection>(),
const edm::Handle< edm::TriggerResults > &  hltResults = edm::Handle<edm::TriggerResults>() 
)
private

process a collection of digis, either real or emulated

Definition at line 403 of file EETriggerTowerTask.cc.

References accept(), edm::EventBase::bunchCrossing(), Numbers::crystals(), EcalEndcap, EEDigiCollection_, MonitorElement::Fill(), edm::Event::getByLabel(), HLTCaloHLTBit_, HLTMuonHLTBit_, i, getHLTprescales::index, ecalpyutils::ism(), Numbers::iSM(), edm::HandleBase::isValid(), Numbers::iTCC(), Numbers::iTT(), EEDetId::ix(), j, meEmulError_, meEmulMatch_, meEmulMatchIndex1D_, meEmulMatchMaxIndex1D_, meEtBxReal_, meEtSpectrumEmul_, meEtSpectrumEmulMax_, meEtSpectrumReal_, meOccupancyBxReal_, meTCCTimingCalo_, meTCCTimingMuon_, meVetoEmulError_, Numbers::subDet(), edm::TriggerNames::triggerName(), and edm::Event::triggerNames().

Referenced by analyze().

407  {
408 
409  int bx = e.bunchCrossing();
410  int nTP[2];
411  nTP[0] = nTP[1] = 0;
412 
413  // indexes are: readoutCrystalsInTower[TCCId][iTT]
414  int readoutCrystalsInTower[108][41];
415  for (int itcc = 0; itcc < 108; itcc++) {
416  for (int itt = 0; itt < 41; itt++) readoutCrystalsInTower[itcc][itt] = 0;
417  }
418 
419  if ( compDigis.isValid() ) {
420 
421  edm::Handle<EEDigiCollection> crystalDigis;
422 
423  if ( e.getByLabel(EEDigiCollection_, crystalDigis) ) {
424 
425  for ( EEDigiCollection::const_iterator cDigiItr = crystalDigis->begin(); cDigiItr != crystalDigis->end(); ++cDigiItr ) {
426 
427  EEDetId id = cDigiItr->id();
428 
429  int ix = id.ix();
430  int iy = id.iy();
431  int ism = Numbers::iSM( id );
432  int itcc = Numbers::iTCC( ism, EcalEndcap, ix, iy );
433  int itt = Numbers::iTT( ism, EcalEndcap, ix, iy );
434 
435  readoutCrystalsInTower[itcc-1][itt-1]++;
436 
437  }
438 
439  } else {
440  edm::LogWarning("EETriggerTowerTask") << EEDigiCollection_ << " not available";
441  }
442 
443  }
444 
445  bool caloTrg = false;
446  bool muonTrg = false;
447 
448  if ( hltResults.isValid() ) {
449 
450  int ntrigs = hltResults->size();
451  if ( ntrigs!=0 ) {
452 
453  const edm::TriggerNames & triggerNames = e.triggerNames(*hltResults);
454 
455  for ( int itrig = 0; itrig != ntrigs; ++itrig ) {
456  std::string trigName = triggerNames.triggerName(itrig);
457  bool accept = hltResults->accept(itrig);
458 
459  if ( trigName == HLTCaloHLTBit_ ) caloTrg = accept;
460 
461  if ( trigName == HLTMuonHLTBit_ ) muonTrg = accept;
462 
463  }
464 
465  } else {
466  edm::LogWarning("EBTriggerTowerTask") << " zero size trigger names in input TriggerResults";
467  }
468 
469  }
470 
471  for ( EcalTrigPrimDigiCollection::const_iterator tpdigiItr = digis->begin(); tpdigiItr != digis->end(); ++tpdigiItr ) {
472 
473  if ( Numbers::subDet( tpdigiItr->id() ) != EcalEndcap ) continue;
474 
475  int ismt = Numbers::iSM( tpdigiItr->id() );
476  int itt = Numbers::iTT( tpdigiItr->id() );
477  int itcc = Numbers::iTCC( tpdigiItr->id() );
478 
479  std::vector<DetId>* crystals = Numbers::crystals( tpdigiItr->id() );
480 
481  float xvalEt = tpdigiItr->compressedEt();
482  float xvalVeto = 0.5 + tpdigiItr->fineGrain();
483 
484  bool good = true;
485  bool goodVeto = true;
486 
487  int compDigiInterest = -1;
488 
489  bool matchSample[6];
490  for (int j=0; j<6; j++) matchSample[j]=false;
491 
492  if ( compDigis.isValid() ) {
493 
494  if ( ismt >= 1 && ismt <= 9 ) {
495  if ( meEtSpectrumEmul_[0] ) meEtSpectrumEmul_[0]->Fill( xvalEt );
496  } else {
497  if ( meEtSpectrumEmul_[1] ) meEtSpectrumEmul_[1]->Fill( xvalEt );
498  }
499 
500  float maxEt = 0;
501  int maxTPIndex = -1;
502  for (int j=0; j<5; j++) {
503  float EtTP = (*tpdigiItr)[j].compressedEt();
504  if ( EtTP > maxEt ) {
505  maxEt = EtTP;
506  maxTPIndex = j+1;
507  }
508  }
509 
510  if ( ismt >= 1 && ismt <= 9 ) {
511  if ( meEtSpectrumEmulMax_[0] ) meEtSpectrumEmulMax_[0]->Fill( maxEt );
512  if ( meEmulMatchMaxIndex1D_[0] && maxEt > 0 ) meEmulMatchMaxIndex1D_[0]->Fill( maxTPIndex );
513  } else {
514  if ( meEtSpectrumEmulMax_[1] ) meEtSpectrumEmulMax_[1]->Fill( maxEt );
515  if ( meEmulMatchMaxIndex1D_[1] && maxEt > 0 ) meEmulMatchMaxIndex1D_[1]->Fill( maxTPIndex );
516  }
517 
518  EcalTrigPrimDigiCollection::const_iterator compDigiItr = compDigis->find( tpdigiItr->id().rawId() );
519  if ( compDigiItr != compDigis->end() ) {
520  int compDigiEt = compDigiItr->compressedEt();
521  compDigiInterest = (compDigiItr->ttFlag() & 0x3);
522 
523  if ( ismt >= 1 && ismt <= 9 ) {
524  if ( compDigiEt > 0 ) nTP[0]++;
525  if ( meEtSpectrumReal_[0] ) meEtSpectrumReal_[0]->Fill( compDigiEt );
526  if ( meEtBxReal_[0] && compDigiEt > 0 ) meEtBxReal_[0]->Fill( bx, compDigiEt );
527  } else {
528  if ( compDigiEt > 0 ) nTP[1]++;
529  if ( meEtSpectrumReal_[1] ) meEtSpectrumReal_[1]->Fill( compDigiEt );
530  if ( meEtBxReal_[1] && compDigiEt > 0 ) meEtBxReal_[1]->Fill( bx, compDigiEt );
531  }
532 
533  // compare the 5 TPs with different time-windows
534  // sample 0 means no match, 1-5: sample of the TP that matches
535  matchSample[0]=false;
536  bool matchedAny=false;
537 
538  for (int j=0; j<5; j++) {
539  if ((*tpdigiItr)[j].compressedEt() == compDigiEt ) {
540  matchSample[j+1]=true;
541  matchedAny=true;
542  } else {
543  matchSample[j+1]=false;
544  }
545  }
546 
547  if (!matchedAny) matchSample[0]=true;
548 
549  // check if the tower has been readout completely and if it is medium or high interest
550  if (readoutCrystalsInTower[itcc-1][itt-1] == int(crystals->size()) &&
551  (compDigiInterest == 1 || compDigiInterest == 3) && compDigiEt > 0) {
552 
553  if ( tpdigiItr->compressedEt() != compDigiEt ) {
554  good = false;
555  }
556  if ( tpdigiItr->fineGrain() != compDigiItr->fineGrain() ) {
557  goodVeto = false;
558  }
559 
560  for (int j=0; j<6; j++) {
561  if (matchSample[j]) {
562 
563  int index = ( j==0 ) ? -1 : j;
564 
565  if ( ismt >= 1 && ismt <= 9 ) {
566  meEmulMatchIndex1D_[0]->Fill(index+0.5);
567  } else {
568  meEmulMatchIndex1D_[1]->Fill(index+0.5);
569  }
570 
571  for ( unsigned int i=0; i<crystals->size(); i++ ) {
572 
573  EEDetId id = (*crystals)[i];
574 
575  int ix = id.ix();
576  int iy = id.iy();
577 
578  if ( ismt >= 1 && ismt <= 9 ) ix = 101 - ix;
579 
580  float xix = ix-0.5;
581  float xiy = iy-0.5;
582 
583  meEmulMatch_[ismt-1]->Fill(xix, xiy, j+0.5);
584  if ( ismt >= 1 && ismt <= 9 ) {
585  if ( meTCCTimingCalo_[0] && caloTrg ) meTCCTimingCalo_[0]->Fill( itcc, index+0.5 );
586  if ( meTCCTimingMuon_[0] && muonTrg ) meTCCTimingMuon_[0]->Fill( itcc, index+0.5 );
587  } else {
588  if ( meTCCTimingCalo_[1] && caloTrg ) meTCCTimingCalo_[1]->Fill( itcc, index+0.5 );
589  if ( meTCCTimingMuon_[1] && muonTrg ) meTCCTimingMuon_[1]->Fill( itcc, index+0.5 );
590  }
591 
592  } // loop on crystals
593 
594  }
595  }
596 
597  } // check readout
598 
599  } else {
600  good = false;
601  goodVeto = false;
602  }
603 
604  for ( unsigned int i=0; i<crystals->size(); i++ ) {
605 
606  EEDetId id = (*crystals)[i];
607 
608  int ix = id.ix();
609  int iy = id.iy();
610 
611  if ( ismt >= 1 && ismt <= 9 ) ix = 101 - ix;
612 
613  float xix = ix-0.5;
614  float xiy = iy-0.5;
615 
616  if (!good ) {
617  if ( meEmulError_[ismt-1] ) meEmulError_[ismt-1]->Fill(xix, xiy);
618  }
619  if (!goodVeto) {
620  if ( meVetoEmulError_[ismt-1] ) meVetoEmulError_[ismt-1]->Fill(xix, xiy);
621  }
622 
623  } // loop on crystals
624 
625  } // compDigis.isValid
626 
627  for ( unsigned int i=0; i<crystals->size(); i++ ) {
628 
629  EEDetId id = (*crystals)[i];
630 
631  int ix = id.ix();
632  int iy = id.iy();
633 
634  if ( ismt >= 1 && ismt <= 9 ) ix = 101 - ix;
635 
636  float xix = ix-0.5;
637  float xiy = iy-0.5;
638 
639  if ( meEtMap[ismt-1] ) meEtMap[ismt-1]->Fill(xix, xiy, xvalEt);
640  if ( meVeto[ismt-1] ) meVeto[ismt-1]->Fill(xix, xiy, xvalVeto);
641 
642  } // loop on crystals
643 
644  } // loop on TP
645 
646  if ( meOccupancyBxReal_[0] ) meOccupancyBxReal_[0]->Fill( bx, nTP[0] );
647  if ( meOccupancyBxReal_[1] ) meOccupancyBxReal_[1]->Fill( bx, nTP[1] );
648 
649 }
int i
Definition: DBlmapReader.cc:9
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
Definition: Event.cc:208
int ix() const
Definition: EEDetId.h:71
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
MonitorElement * meEtBxReal_[2]
number and ET average of TP vs bx for the whole EE+/-
MonitorElement * meOccupancyBxReal_[2]
std::vector< T >::const_iterator const_iterator
int bunchCrossing() const
Definition: EventBase.h:62
MonitorElement * meEtSpectrumEmul_[2]
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:21
static int iTCC(const int ism, const EcalSubdetector subdet, const int i1, const int i2)
Definition: Numbers.cc:621
static int iTT(const int ism, const EcalSubdetector subdet, const int i1, const int i2)
Definition: Numbers.cc:526
void Fill(long long x)
static std::vector< DetId > * crystals(const EcalTrigTowerDetId &id)
Definition: Numbers.cc:740
static int iSM(const int ism, const EcalSubdetector subdet)
Definition: Numbers.cc:222
MonitorElement * meEmulMatchMaxIndex1D_[2]
int j
Definition: DBlmapReader.cc:9
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
MonitorElement * meEtSpectrumEmulMax_[2]
std::string const & triggerName(unsigned int index) const
Definition: TriggerNames.cc:27
MonitorElement * meEtSpectrumReal_[2]
ET spectrums for the whole EE+/-.
static EcalSubdetector subDet(const EBDetId &id)
Definition: Numbers.cc:136
MonitorElement * meTCCTimingCalo_[2]
TCC timing.
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
MonitorElement * meEmulMatchIndex1D_[2]
1D emulator match 1D
edm::InputTag EEDigiCollection_
to find the input collection of crystal digis
MonitorElement * meTCCTimingMuon_[2]
void EETriggerTowerTask::reserveArray ( array1 array)
private

reserve an array to hold one histogram per supermodule

Definition at line 90 of file EETriggerTowerTask.cc.

References nSM.

Referenced by EETriggerTowerTask().

90  {
91 
92  array.reserve( nSM );
93  array.resize( nSM, static_cast<MonitorElement*>(0) );
94 
95 }
static const int nSM
number of supermodules
void EETriggerTowerTask::reset ( void  )
protected

Reset.

Definition at line 120 of file EETriggerTowerTask.cc.

References i, meEmulError_, meEmulMatch_, meEmulMatchIndex1D_, meEmulMatchMaxIndex1D_, meEtBxReal_, meEtMapEmul_, meEtMapReal_, meEtSpectrumEmul_, meEtSpectrumEmulMax_, meEtSpectrumReal_, meOccupancyBxReal_, meTCCTimingCalo_, meTCCTimingMuon_, meVetoEmul_, meVetoEmulError_, meVetoReal_, and MonitorElement::Reset().

Referenced by beginRun().

120  {
121 
122  for (int iside = 0; iside < 2; iside++) {
123  if ( meEtSpectrumReal_[iside] ) meEtSpectrumReal_[iside]->Reset();
124  if ( meEtSpectrumEmul_[iside] ) meEtSpectrumEmul_[iside]->Reset();
125  if ( meEtSpectrumEmulMax_[iside] ) meEtSpectrumEmulMax_[iside]->Reset();
126  if ( meEtBxReal_[iside] ) meEtBxReal_[iside]->Reset();
127  if ( meOccupancyBxReal_[iside] ) meOccupancyBxReal_[iside]->Reset();
128  if ( meTCCTimingCalo_[iside] ) meTCCTimingCalo_[iside]->Reset();
129  if ( meTCCTimingMuon_[iside] ) meTCCTimingMuon_[iside]->Reset();
130  if ( meEmulMatchIndex1D_[iside] ) meEmulMatchIndex1D_[iside]->Reset();
131  if ( meEmulMatchMaxIndex1D_[iside] ) meEmulMatchMaxIndex1D_[iside]->Reset();
132  }
133 
134  for (int i = 0; i < 18; i++) {
135 
136  if ( meEtMapReal_[i] ) meEtMapReal_[i]->Reset();
137  if ( meVetoReal_[i] ) meVetoReal_[i]->Reset();
138  if ( meEtMapEmul_[i] ) meEtMapEmul_[i]->Reset();
139  if ( meVetoEmul_[i] ) meVetoEmul_[i]->Reset();
140  if ( meEmulError_[i] ) meEmulError_[i]->Reset();
141  if ( meEmulMatch_[i] ) meEmulMatch_[i]->Reset();
142  if ( meVetoEmulError_[i] ) meVetoEmulError_[i]->Reset();
143 
144  }
145 
146 }
int i
Definition: DBlmapReader.cc:9
array1 meVetoEmul_
Emulated fine grain veto vs ix vs iy, for each SM.
MonitorElement * meEtBxReal_[2]
number and ET average of TP vs bx for the whole EE+/-
MonitorElement * meOccupancyBxReal_[2]
MonitorElement * meEtSpectrumEmul_[2]
MonitorElement * meEmulMatchMaxIndex1D_[2]
array1 meEtMapEmul_
Emulated Et vs ix vs iy, for each SM.
array1 meVetoReal_
fine grain veto vs ix vs iy, for each SM
array1 meEtMapReal_
Et vs ix vs iy, for each SM.
MonitorElement * meEtSpectrumEmulMax_[2]
MonitorElement * meEtSpectrumReal_[2]
ET spectrums for the whole EE+/-.
MonitorElement * meTCCTimingCalo_[2]
TCC timing.
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * meEmulMatchIndex1D_[2]
1D emulator match 1D
MonitorElement * meTCCTimingMuon_[2]
void EETriggerTowerTask::setup ( void  )
protected

Setup.

Definition at line 148 of file EETriggerTowerTask.cc.

References dqmStore_, init_, and prefixME_.

Referenced by analyze().

148  {
149 
150  init_ = true;
151 
152  if ( dqmStore_ ) {
153  setup( "Real Digis",
154  (prefixME_ + "/EETriggerTowerTask").c_str(), false );
155 
156  setup( "Emulated Digis",
157  (prefixME_ + "/EETriggerTowerTask/Emulated").c_str(), true);
158  }
159  else {
160  edm::LogError("EETriggerTowerTask") << "Bad DQMStore, cannot book MonitorElements.";
161  }
162 }
void setup(void)
Setup.
DQMStore * dqmStore_
DQM back-end interface.
std::string prefixME_
path to MEs
void EETriggerTowerTask::setup ( std::string const &  nameext,
std::string const &  folder,
bool  emulated 
)
private

book monitor elements for real, or emulated digis

Definition at line 164 of file EETriggerTowerTask.cc.

References DQMStore::book1D(), DQMStore::book2D(), DQMStore::book3D(), DQMStore::bookProfile(), DQMStore::bookProfile2D(), dqmStore_, HLTCaloHLTBit_, HLTMuonHLTBit_, i, Numbers::ix0EE(), Numbers::iy0EE(), meEmulError_, meEmulMatch_, meEmulMatchIndex1D_, meEmulMatchMaxIndex1D_, meEtBxReal_, meEtMapEmul_, meEtMapReal_, meEtSpectrumEmul_, meEtSpectrumEmulMax_, meEtSpectrumReal_, meOccupancyBxReal_, meTCCTimingCalo_, meTCCTimingMuon_, meVetoEmul_, meVetoEmulError_, meVetoReal_, mergeVDriftHistosByStation::name, Numbers::sEE(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), DQMStore::tag(), and fw3dlego::xbins.

166  {
167 
168  array1* meEtMap = &meEtMapReal_;
169  array1* meVeto = &meVetoReal_;
170 
171  if ( emulated ) {
172  meEtMap = &meEtMapEmul_;
173  meVeto = &meVetoEmul_;
174  }
175 
176  dqmStore_->setCurrentFolder(folder);
177 
178  std::string name;
179 
180  if (!emulated) {
181  name = "EETTT Et spectrum " + nameext + " EE -";
182  meEtSpectrumReal_[0] = dqmStore_->book1D(name, name, 256, 0., 256.);
183  meEtSpectrumReal_[0]->setAxisTitle("energy (ADC)", 1);
184 
185  name = "EETTT Et spectrum " + nameext + " EE +";
186  meEtSpectrumReal_[1] = dqmStore_->book1D(name, name, 256, 0., 256.);
187  meEtSpectrumReal_[1]->setAxisTitle("energy (ADC)", 1);
188 
189  name = "EETTT TP matching index EE -";
190  meEmulMatchIndex1D_[0] = dqmStore_->book1D(name, name, 7, -1., 6.);
191  meEmulMatchIndex1D_[0]->setAxisTitle("TP data matching emulator", 1);
192 
193  name = "EETTT TP matching index EE +";
194  meEmulMatchIndex1D_[1] = dqmStore_->book1D(name, name, 7, -1., 6.);
195  meEmulMatchIndex1D_[1]->setAxisTitle("TP data matching emulator", 1);
196 
197  name = "EETTT max TP matching index EE -";
198  meEmulMatchMaxIndex1D_[0] = dqmStore_->book1D(name, name, 7, -1., 6.);
199  meEmulMatchMaxIndex1D_[0]->setAxisTitle("Max TP data matching emulator", 1);
200 
201  name = "EETTT max TP matching index EE +";
202  meEmulMatchMaxIndex1D_[1] = dqmStore_->book1D(name, name, 7, -1., 6.);
203  meEmulMatchMaxIndex1D_[1]->setAxisTitle("Max TP data matching emulator", 1);
204 
205  double xbins[51];
206  for ( int i=0; i<=11; i++ ) xbins[i] = i-1; // begin of orbit
207  // abort gap in presence of calibration: [3381-3500]
208  // abort gap in absence of calibration: [3444-3500]
209  // using the wider abort gap always, start finer binning at bx=3371
210  for ( int i=12; i<=22; i++) xbins[i] = 3371+i-12;
211  // use 29 bins for the abort gap
212  for ( int i=23; i<=50; i++) xbins[i] = 3382+(i-23)*6;
213 
214  name = "EETTT Et vs bx " + nameext + " EE -";
215  meEtBxReal_[0] = dqmStore_->bookProfile(name, name, 50, xbins, 256, 0, 256);
216  meEtBxReal_[0]->setAxisTitle("bunch crossing", 1);
217  meEtBxReal_[0]->setAxisTitle("energy (ADC)", 2);
218 
219  name = "EETTT Et vs bx " + nameext + " EE +";
220  meEtBxReal_[1] = dqmStore_->bookProfile(name, name, 50, xbins, 256, 0, 256);
221  meEtBxReal_[1]->setAxisTitle("bunch crossing", 1);
222  meEtBxReal_[1]->setAxisTitle("energy (ADC)", 2);
223 
224  name = "EETTT TP occupancy vs bx " + nameext + " EE -";
225  meOccupancyBxReal_[0] = dqmStore_->bookProfile(name, name, 50, xbins, 2448, 0, 2448);
226  meOccupancyBxReal_[0]->setAxisTitle("bunch crossing", 1);
227  meOccupancyBxReal_[0]->setAxisTitle("TP number", 2);
228 
229  name = "EETTT TP occupancy vs bx " + nameext + " EE +";
230  meOccupancyBxReal_[1] = dqmStore_->bookProfile(name, name, 50, xbins, 2448, 0, 2448);
231  meOccupancyBxReal_[1]->setAxisTitle("bunch crossing", 1);
232  meOccupancyBxReal_[1]->setAxisTitle("TP number", 2);
233 
234  if ( HLTCaloHLTBit_ != "" ) {
235  name = "EETTT TCC timing calo triggers " + nameext + " EE -";
236  meTCCTimingCalo_[0] = dqmStore_->book2D(name, name, 36, 1, 37, 7, -1., 6.);
237  meTCCTimingCalo_[0]->setAxisTitle("nTCC", 1);
238  meTCCTimingCalo_[0]->setAxisTitle("TP data matching emulator", 2);
239 
240  name = "EETTT TCC timing calo triggers " + nameext + " EE +";
241  meTCCTimingCalo_[1] = dqmStore_->book2D(name, name, 36, 73, 109, 7, -1., 6.);
242  meTCCTimingCalo_[1]->setAxisTitle("nTCC", 1);
243  meTCCTimingCalo_[1]->setAxisTitle("TP data matching emulator", 2);
244  }
245 
246  if ( HLTMuonHLTBit_ != "" ) {
247  name = "EETTT TCC timing muon triggers " + nameext + " EE -";
248  meTCCTimingMuon_[0] = dqmStore_->book2D(name, name, 36, 1, 37, 7, -1., 6.);
249  meTCCTimingMuon_[0]->setAxisTitle("nTCC", 1);
250  meTCCTimingMuon_[0]->setAxisTitle("TP data matching emulator", 2);
251 
252  name = "EETTT TCC timing muon triggers " + nameext + " EE +";
253  meTCCTimingMuon_[1] = dqmStore_->book2D(name, name, 36, 73, 109, 7, -1., 6.);
254  meTCCTimingMuon_[1]->setAxisTitle("nTCC", 1);
255  meTCCTimingMuon_[1]->setAxisTitle("TP data matching emulator", 2);
256  }
257 
258  } else {
259  name = "EETTT Et spectrum " + nameext + " EE -";
260  meEtSpectrumEmul_[0] = dqmStore_->book1D(name, name, 256, 0., 256.);
261  meEtSpectrumEmul_[0]->setAxisTitle("energy (ADC)", 1);
262 
263  name = "EETTT Et spectrum " + nameext + " EE +";
264  meEtSpectrumEmul_[1] = dqmStore_->book1D(name, name, 256, 0., 256.);
265  meEtSpectrumEmul_[1]->setAxisTitle("energy (ADC)", 1);
266 
267  name = "EETTT Et spectrum " + nameext + " max EE -";
268  meEtSpectrumEmulMax_[0] = dqmStore_->book1D(name, name, 256, 0., 256.);
269  meEtSpectrumEmulMax_[0]->setAxisTitle("energy (ADC)", 1);
270 
271  name = "EETTT Et spectrum " + nameext + " max EE +";
272  meEtSpectrumEmulMax_[1] = dqmStore_->book1D(name, name, 256, 0., 256.);
273  meEtSpectrumEmulMax_[1]->setAxisTitle("energy (ADC)", 1);
274  }
275 
276  for (int i = 0; i < 18; i++) {
277 
278  name = "EETTT Et map " + nameext + " " + Numbers::sEE(i+1);
279  (*meEtMap)[i] = dqmStore_->bookProfile2D(name, name,
280  50, Numbers::ix0EE(i+1)+0., Numbers::ix0EE(i+1)+50.,
281  50, Numbers::iy0EE(i+1)+0., Numbers::iy0EE(i+1)+50.,
282  256, 0, 256.);
283  (*meEtMap)[i]->setAxisTitle("ix", 1);
284  if ( i+1 >= 1 && i+1 <= 9 ) (*meEtMap)[i]->setAxisTitle("101-ix", 1);
285  (*meEtMap)[i]->setAxisTitle("iy", 2);
286  dqmStore_->tag((*meEtMap)[i], i+1);
287 
288  if (!emulated) {
289 
290  name = "EETTT EmulError " + Numbers::sEE(i+1);
291  meEmulError_[i] = dqmStore_->book2D(name, name,
292  50, Numbers::ix0EE(i+1)+0., Numbers::ix0EE(i+1)+50.,
293  50, Numbers::iy0EE(i+1)+0., Numbers::iy0EE(i+1)+50. );
294  meEmulError_[i]->setAxisTitle("ix", 1);
295  if ( i+1 >= 1 && i+1 <= 9 ) meEmulError_[i]->setAxisTitle("101-ix", 1);
296  meEmulError_[i]->setAxisTitle("iy", 2);
297  dqmStore_->tag(meEmulError_[i], i+1);
298 
299  name = "EETTT EmulMatch " + Numbers::sEE(i+1);
300  meEmulMatch_[i] = dqmStore_->book3D(name, name,
301  50, Numbers::ix0EE(i+1)+0., Numbers::ix0EE(i+1)+50.,
302  50, Numbers::iy0EE(i+1)+0., Numbers::iy0EE(i+1)+50.,
303  6, 0., 6.);
304  meEmulMatch_[i]->setAxisTitle("ix", 1);
305  if ( i+1 >= 1 && i+1 <= 9 ) meEmulMatch_[i]->setAxisTitle("101-ix", 1);
306  meEmulMatch_[i]->setAxisTitle("iy", 2);
307  dqmStore_->tag(meEmulMatch_[i], i+1);
308 
309  name = "EETTT EmulFineGrainVetoError " + Numbers::sEE(i+1);
310  meVetoEmulError_[i] = dqmStore_->book2D(name, name,
311  50, Numbers::ix0EE(i+1)+0., Numbers::ix0EE(i+1)+50.,
312  50, Numbers::iy0EE(i+1)+0., Numbers::iy0EE(i+1)+50.);
313  meVetoEmulError_[i]->setAxisTitle("ix", 1);
314  if ( i+1 >= 1 && i+1 <= 9 ) meVetoEmulError_[i]->setAxisTitle("101-ix", 1);
315  meVetoEmulError_[i]->setAxisTitle("iy", 2);
316  dqmStore_->tag(meVetoEmulError_[i], i+1);
317 
318  }
319  }
320 
321 }
int i
Definition: DBlmapReader.cc:9
array1 meVetoEmul_
Emulated fine grain veto vs ix vs iy, for each SM.
const double xbins[]
MonitorElement * meEtBxReal_[2]
number and ET average of TP vs bx for the whole EE+/-
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
static int iy0EE(const int ism)
Definition: Numbers.cc:987
MonitorElement * book3D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ)
Book 3D histogram.
Definition: DQMStore.cc:776
static std::string sEE(const int ism)
Definition: Numbers.cc:205
MonitorElement * meOccupancyBxReal_[2]
MonitorElement * meEtSpectrumEmul_[2]
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1151
std::vector< MonitorElement * > array1
1D array
DQMStore * dqmStore_
DQM back-end interface.
MonitorElement * meEmulMatchMaxIndex1D_[2]
array1 meEtMapEmul_
Emulated Et vs ix vs iy, for each SM.
array1 meVetoReal_
fine grain veto vs ix vs iy, for each SM
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:828
array1 meEtMapReal_
Et vs ix vs iy, for each SM.
MonitorElement * meEtSpectrumEmulMax_[2]
static int ix0EE(const int ism)
Definition: Numbers.cc:952
MonitorElement * meEtSpectrumReal_[2]
ET spectrums for the whole EE+/-.
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:642
MonitorElement * meTCCTimingCalo_[2]
TCC timing.
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * meEmulMatchIndex1D_[2]
1D emulator match 1D
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
MonitorElement * meTCCTimingMuon_[2]
MonitorElement * bookProfile2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, const char *option="s")
Definition: DQMStore.cc:972

Member Data Documentation

DQMStore* EETriggerTowerTask::dqmStore_
private

DQM back-end interface.

Definition at line 120 of file EETriggerTowerTask.h.

Referenced by beginJob(), cleanup(), EETriggerTowerTask(), and setup().

edm::InputTag EETriggerTowerTask::EEDigiCollection_
private

to find the input collection of crystal digis

Definition at line 138 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), and processDigis().

edm::InputTag EETriggerTowerTask::emulCollection_
private

to find the input collection of emulated digis

Definition at line 135 of file EETriggerTowerTask.h.

Referenced by analyze(), and EETriggerTowerTask().

bool EETriggerTowerTask::enableCleanup_
private

remove MEs

Definition at line 126 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), and endJob().

std::string EETriggerTowerTask::HLTCaloHLTBit_
private

Definition at line 142 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), and setup().

std::string EETriggerTowerTask::HLTMuonHLTBit_
private

Definition at line 143 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), and setup().

edm::InputTag EETriggerTowerTask::HLTResultsCollection_
private

to find the input collection of HLT bits

Definition at line 141 of file EETriggerTowerTask.h.

Referenced by analyze(), and EETriggerTowerTask().

int EETriggerTowerTask::ievt_
private

local event counter

Definition at line 95 of file EETriggerTowerTask.h.

Referenced by analyze(), beginJob(), and endJob().

bool EETriggerTowerTask::init_
private

init flag

Definition at line 117 of file EETriggerTowerTask.h.

Referenced by analyze(), cleanup(), EETriggerTowerTask(), and setup().

array1 EETriggerTowerTask::meEmulError_
private

error flag vs ix vs iy, for each SM the error flag is set to true in case of a discrepancy between the emulator and the real data

Definition at line 112 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), reset(), and setup().

array1 EETriggerTowerTask::meEmulMatch_
private

Definition at line 113 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), reset(), and setup().

MonitorElement* EETriggerTowerTask::meEmulMatchIndex1D_[2]
private

1D emulator match 1D

Definition at line 149 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), reset(), and setup().

MonitorElement* EETriggerTowerTask::meEmulMatchMaxIndex1D_[2]
private

Definition at line 150 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), reset(), and setup().

MonitorElement* EETriggerTowerTask::meEtBxReal_[2]
private

number and ET average of TP vs bx for the whole EE+/-

Definition at line 158 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), reset(), and setup().

array1 EETriggerTowerTask::meEtMapEmul_
private

Emulated Et vs ix vs iy, for each SM.

Definition at line 104 of file EETriggerTowerTask.h.

Referenced by analyze(), EETriggerTowerTask(), reset(), and setup().

array1 EETriggerTowerTask::meEtMapReal_
private

Et vs ix vs iy, for each SM.

Definition at line 98 of file EETriggerTowerTask.h.

Referenced by analyze(), EETriggerTowerTask(), reset(), and setup().

MonitorElement* EETriggerTowerTask::meEtSpectrumEmul_[2]
private

Definition at line 154 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), reset(), and setup().

MonitorElement* EETriggerTowerTask::meEtSpectrumEmulMax_[2]
private

Definition at line 155 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), reset(), and setup().

MonitorElement* EETriggerTowerTask::meEtSpectrumReal_[2]
private

ET spectrums for the whole EE+/-.

Definition at line 153 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), reset(), and setup().

MonitorElement* EETriggerTowerTask::meOccupancyBxReal_[2]
private

Definition at line 159 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), reset(), and setup().

bool EETriggerTowerTask::mergeRuns_
private

merge MEs across runs

Definition at line 129 of file EETriggerTowerTask.h.

Referenced by beginRun(), and EETriggerTowerTask().

MonitorElement* EETriggerTowerTask::meTCCTimingCalo_[2]
private

TCC timing.

Definition at line 162 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), reset(), and setup().

MonitorElement* EETriggerTowerTask::meTCCTimingMuon_[2]
private

Definition at line 163 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), reset(), and setup().

array1 EETriggerTowerTask::meVetoEmul_
private

Emulated fine grain veto vs ix vs iy, for each SM.

Definition at line 107 of file EETriggerTowerTask.h.

Referenced by analyze(), EETriggerTowerTask(), reset(), and setup().

array1 EETriggerTowerTask::meVetoEmulError_
private

Definition at line 114 of file EETriggerTowerTask.h.

Referenced by EETriggerTowerTask(), processDigis(), reset(), and setup().

array1 EETriggerTowerTask::meVetoReal_
private

fine grain veto vs ix vs iy, for each SM

Definition at line 101 of file EETriggerTowerTask.h.

Referenced by analyze(), EETriggerTowerTask(), reset(), and setup().

const int EETriggerTowerTask::nSM = 18
static

number of supermodules

Definition at line 40 of file EETriggerTowerTask.h.

Referenced by reserveArray().

const int EETriggerTowerTask::nTTEta = 20
static

number of trigger towers in eta

Definition at line 34 of file EETriggerTowerTask.h.

const int EETriggerTowerTask::nTTPhi = 20
static

number of trigger towers in phi

Definition at line 37 of file EETriggerTowerTask.h.

std::string EETriggerTowerTask::outputFile_
private

debug output root file. if empty, no output file created.

Definition at line 146 of file EETriggerTowerTask.h.

Referenced by cleanup(), and EETriggerTowerTask().

std::string EETriggerTowerTask::prefixME_
private

path to MEs

Definition at line 123 of file EETriggerTowerTask.h.

Referenced by beginJob(), cleanup(), EETriggerTowerTask(), and setup().

edm::InputTag EETriggerTowerTask::realCollection_
private

to find the input collection of real digis

Definition at line 132 of file EETriggerTowerTask.h.

Referenced by analyze(), and EETriggerTowerTask().