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)
 
static void prevalidate (ConfigurationDescriptions &)
 

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_, 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 345 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().

345  {
346 
347  if ( ! init_ ) this->setup();
348 
349  ievt_++;
350 
352 
353  if ( e.getByLabel(realCollection_, realDigis) ) {
354 
355  int neetpd = realDigis->size();
356  LogDebug("EETriggerTowerTask") << "event " << ievt_ << " trigger primitive digi collection size: " << neetpd;
357 
358  processDigis( e,
359  realDigis,
360  meEtMapReal_,
361  meVetoReal_);
362 
363  } else {
364  edm::LogWarning("EETriggerTowerTask") << realCollection_ << " not available";
365  }
366 
368 
369  if ( e.getByLabel(emulCollection_, emulDigis) ) {
370 
372 
373  if ( !e.getByLabel(HLTResultsCollection_, hltResults) ) {
375  }
376 
377  if ( !e.getByLabel(HLTResultsCollection_, hltResults) ) {
379  }
380 
381  if ( e.getByLabel(HLTResultsCollection_, hltResults) ) {
382 
383  processDigis( e,
384  emulDigis,
385  meEtMapEmul_,
386  meVetoEmul_,
387  realDigis,
388  hltResults);
389 
390  } else {
391  edm::LogWarning("EETriggerTowerTask") << HLTResultsCollection_ << " not available";
392  }
393 
394  } else {
395  edm::LogInfo("EETriggerTowerTask") << emulCollection_ << " not available";
396  }
397 
398 }
#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:356
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:2530
DQMStore * dqmStore_
DQM back-end interface.
std::string prefixME_
path to MEs
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429
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:50
void reset(void)
Reset.
void EETriggerTowerTask::cleanup ( void  )
protected

Cleanup.

Definition at line 321 of file EETriggerTowerTask.cc.

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

Referenced by endJob().

321  {
322 
323  if ( ! init_ ) return;
324 
325  if ( dqmStore_ ) {
326 
327  if ( !outputFile_.empty() ) dqmStore_->save( outputFile_.c_str() );
328 
329  dqmStore_->rmdir( prefixME_ + "/EETriggerTowerTask" );
330 
331  }
332 
333  init_ = false;
334 
335 }
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2530
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:2113
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 337 of file EETriggerTowerTask.cc.

References cleanup(), enableCleanup_, and ievt_.

337  {
338 
339  edm::LogInfo("EETriggerTowerTask") << "analyzed " << ievt_ << " events";
340 
341  if ( enableCleanup_ ) this->cleanup();
342 
343 }
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 401 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().

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

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

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(), and reset().

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(), and reset().

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().