CMS 3D CMS Logo

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

#include <EEBeamHodoTask.h>

Inheritance diagram for EEBeamHodoTask:
edm::EDAnalyzer

Public Member Functions

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

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 Attributes

int cryInBeam_
 
int cryInBeamCounter_
 
DQMStoredqmStore_
 
edm::InputTag EcalRawDataCollection_
 
edm::InputTag EcalTBEventHeader_
 
edm::InputTag EcalTBHodoscopeRawInfo_
 
edm::InputTag EcalTBHodoscopeRecInfo_
 
edm::InputTag EcalTBTDCRawInfo_
 
edm::InputTag EcalTBTDCRecInfo_
 
edm::InputTag EcalUncalibratedRecHitCollection_
 
bool enableCleanup_
 
int ievt_
 
bool init_
 
int LV1_
 
MonitorElementmeCaloVsHodoXPos_
 
MonitorElementmeCaloVsHodoYPos_
 
MonitorElementmeCaloVsTDCTime_
 
MonitorElementmeEvsXRecHis_
 
MonitorElementmeEvsXRecProf_
 
MonitorElementmeEvsYRecHis_
 
MonitorElementmeEvsYRecProf_
 
MonitorElementmeHodoOcc_ [4]
 
MonitorElementmeHodoPosRecX_
 
MonitorElementmeHodoPosRecXY_
 
MonitorElementmeHodoPosRecY_
 
MonitorElementmeHodoPosXMinusCaloPosXVsCry_
 
MonitorElementmeHodoPosYMinusCaloPosYVsCry_
 
MonitorElementmeHodoQuaXRec_
 
MonitorElementmeHodoQuaYRec_
 
MonitorElementmeHodoRaw_ [4]
 
MonitorElementmeHodoSloXRec_
 
MonitorElementmeHodoSloYRec_
 
MonitorElementmeMissingCollections_
 
bool mergeRuns_
 
MonitorElementmeTDCRec_
 
MonitorElementmeTDCTimeMinusCaloTimeVsCry_
 
std::string prefixME_
 
int previousCryInBeam_
 
bool resetNow_
 
int smId
 
bool tableIsMoving_
 

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 21 of file EEBeamHodoTask.h.

Constructor & Destructor Documentation

EEBeamHodoTask::EEBeamHodoTask ( const edm::ParameterSet ps)

Constructor.

Definition at line 33 of file EEBeamHodoTask.cc.

References cryInBeam_, dqmStore_, EcalRawDataCollection_, EcalTBEventHeader_, EcalTBHodoscopeRawInfo_, EcalTBHodoscopeRecInfo_, EcalTBTDCRawInfo_, EcalTBTDCRecInfo_, EcalUncalibratedRecHitCollection_, enableCleanup_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, init_, meCaloVsHodoXPos_, meCaloVsHodoYPos_, meCaloVsTDCTime_, meEvsXRecHis_, meEvsXRecProf_, meEvsYRecHis_, meEvsYRecProf_, meHodoOcc_, meHodoPosRecX_, meHodoPosRecXY_, meHodoPosRecY_, meHodoPosXMinusCaloPosXVsCry_, meHodoPosYMinusCaloPosYVsCry_, meHodoQuaXRec_, meHodoQuaYRec_, meHodoRaw_, meHodoSloXRec_, meHodoSloYRec_, meMissingCollections_, mergeRuns_, meTDCRec_, meTDCTimeMinusCaloTimeVsCry_, cmsCodeRules.cppFunctionSkipper::operator, prefixME_, previousCryInBeam_, and tableIsMoving_.

33  {
34 
35  init_ = false;
36 
38 
39  prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", "");
40 
41  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
42 
43  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
44 
45  EcalTBEventHeader_ = ps.getParameter<edm::InputTag>("EcalTBEventHeader");
46  EcalRawDataCollection_ = ps.getParameter<edm::InputTag>("EcalRawDataCollection");
47  EcalUncalibratedRecHitCollection_ = ps.getParameter<edm::InputTag>("EcalUncalibratedRecHitCollection");
48  EcalTBTDCRawInfo_ = ps.getParameter<edm::InputTag>("EcalTBTDCRawInfo");
49  EcalTBHodoscopeRawInfo_ = ps.getParameter<edm::InputTag>("EcalTBHodoscopeRawInfo");
50  EcalTBTDCRecInfo_ = ps.getParameter<edm::InputTag>("EcalTBTDCRecInfo");
51  EcalTBHodoscopeRecInfo_ = ps.getParameter<edm::InputTag>("EcalTBHodoscopeRecInfo");
52 
53  tableIsMoving_ = false;
54  cryInBeam_ =0;
55  previousCryInBeam_ = -99999;
56 
57  // to be filled all the time
58  for (int i=0; i<4; i++) {
59  meHodoOcc_[i] =0;
60  meHodoRaw_[i] =0;
61  }
62  meTDCRec_ =0;
63 
64  // filled only when: the table does not move
65  meHodoPosRecX_ =0;
66  meHodoPosRecY_ =0;
67  meHodoPosRecXY_ =0;
68  meHodoSloXRec_ =0;
69  meHodoSloYRec_ =0;
70  meHodoQuaXRec_ =0;
71  meHodoQuaYRec_ =0;
76 
77  meEvsXRecProf_ =0;
78  meEvsYRecProf_ =0;
79  meEvsXRecHis_ =0;
80  meEvsYRecHis_ =0;
81 
82  // and matrix 5x5 available
86 
87 }
MonitorElement * meCaloVsHodoXPos_
T getParameter(std::string const &) const
MonitorElement * meHodoQuaXRec_
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
MonitorElement * meHodoPosRecXY_
MonitorElement * meHodoSloYRec_
MonitorElement * meCaloVsTDCTime_
edm::InputTag EcalUncalibratedRecHitCollection_
MonitorElement * meHodoOcc_[4]
DQMStore * dqmStore_
edm::InputTag EcalTBEventHeader_
MonitorElement * meEvsYRecHis_
MonitorElement * meHodoQuaYRec_
edm::InputTag EcalTBHodoscopeRawInfo_
MonitorElement * meHodoPosRecX_
edm::InputTag EcalTBTDCRecInfo_
MonitorElement * meHodoPosYMinusCaloPosYVsCry_
edm::InputTag EcalTBTDCRawInfo_
edm::InputTag EcalTBHodoscopeRecInfo_
MonitorElement * meTDCRec_
MonitorElement * meHodoSloXRec_
MonitorElement * meEvsYRecProf_
MonitorElement * meTDCTimeMinusCaloTimeVsCry_
MonitorElement * meHodoPosRecY_
MonitorElement * meHodoRaw_[4]
MonitorElement * meEvsXRecProf_
std::string prefixME_
MonitorElement * meHodoPosXMinusCaloPosXVsCry_
MonitorElement * meMissingCollections_
MonitorElement * meCaloVsHodoYPos_
MonitorElement * meEvsXRecHis_
edm::InputTag EcalRawDataCollection_
EEBeamHodoTask::~EEBeamHodoTask ( )
virtual

Destructor.

Definition at line 89 of file EEBeamHodoTask.cc.

89  {
90 
91 }

Member Function Documentation

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

Analyze.

Implements edm::EDAnalyzer.

Definition at line 337 of file EEBeamHodoTask.cc.

References EcalDCCHeaderBlock::BEAMH2, EcalDCCHeaderBlock::BEAMH4, EcalTBHodoscopePlaneRawHits::channels(), EcalTBHodoscopeRawInfo::channels(), cryInBeam_, cryInBeamCounter_, EcalTBEventHeader::crystalInBeam(), EcalEndcap, EcalRawDataCollection_, EcalTBEventHeader_, EcalTBHodoscopeRawInfo_, EcalTBHodoscopeRecInfo_, EcalTBTDCRawInfo_, EcalTBTDCRecInfo_, EcalUncalibratedRecHitCollection_, EBDetId::ETAPHIMODE, EcalTBEventHeader::eventNumber(), MonitorElement::Fill(), HcalObjRepresent::Fill(), edm::Event::getByLabel(), EcalTBHodoscopeRawInfo::getPlaneRawHits(), i, EBDetId::ieta(), ievt_, init_, EcalTBHodoscopePlaneRawHits::isChannelFired(), funct::log(), LogDebug, LV1_, meCaloVsHodoXPos_, meCaloVsHodoYPos_, meCaloVsTDCTime_, meEvsXRecHis_, meEvsXRecProf_, meEvsYRecHis_, meEvsYRecProf_, meHodoOcc_, meHodoPosRecX_, meHodoPosRecXY_, meHodoPosRecY_, meHodoPosXMinusCaloPosXVsCry_, meHodoPosYMinusCaloPosYVsCry_, meHodoQuaXRec_, meHodoQuaYRec_, meHodoRaw_, meHodoSloXRec_, meHodoSloYRec_, meMissingCollections_, meTDCRec_, meTDCTimeMinusCaloTimeVsCry_, EcalTBHodoscopePlaneRawHits::numberOfFiredHits(), EcalTBTDCRecInfo::offset(), EcalTBHodoscopeRawInfo::planes(), EcalTBHodoscopeRecInfo::posX(), EcalTBHodoscopeRecInfo::posY(), previousCryInBeam_, edm::Handle< T >::product(), EcalTBHodoscopeRecInfo::qualX(), EcalTBHodoscopeRecInfo::qualY(), MonitorElement::Reset(), resetNow_, setup(), EcalTBHodoscopeRecInfo::slopeX(), EcalTBHodoscopeRecInfo::slopeY(), Numbers::subDet(), EcalTBEventHeader::tableIsMoving(), tableIsMoving_, EBDetId::validDetId(), and CommonMethods::weight().

337  {
338 
339  bool enable = false;
341  const EcalTBEventHeader* Header =0;
342 
343  if ( e.getByLabel(EcalTBEventHeader_, pHeader) ) {
344  Header = pHeader.product(); // get a ptr to the product
345  if (!Header) {
346  edm::LogWarning("EEBeamHodoTask") << "Event header not found. Returning. ";
347  meMissingCollections_-> Fill(0); // bin1: missing CMSSW edm::Event header
348  return;
349  }
350  tableIsMoving_ = Header->tableIsMoving();
351  cryInBeam_ = Header->crystalInBeam(); // cryInBeam_ = Header->nominalCrystalInBeam();
352  if (previousCryInBeam_ == -99999 )
354 
355  LogDebug("EEBeamHodoTask") << "event: " << ievt_ << " event header found ";
356  if (tableIsMoving_){
357  LogDebug("EEBeamHodoTask") << "Table is moving. "; }
358  else
359  { LogDebug("EEBeamHodoTask") << "Table is not moving. "; }
360  } else {
361  edm::LogWarning("EEBeamHodoTask") << "Event header not found (exception caught). Returning. ";
362  return;
363  }
364 
366 
367  if ( e.getByLabel(EcalRawDataCollection_, dcchs) ) {
368 
369  for ( EcalRawDataCollection::const_iterator dcchItr = dcchs->begin(); dcchItr != dcchs->end(); ++dcchItr ) {
370 
371  if ( Numbers::subDet( *dcchItr ) != EcalEndcap ) continue;
372 
373  if ( dcchItr->getRunType() == EcalDCCHeaderBlock::BEAMH4 ||
374  dcchItr->getRunType() == EcalDCCHeaderBlock::BEAMH2 ) enable = true;
375  }
376 
377  } else {
378  edm::LogWarning("EcalBeamTask") << EcalRawDataCollection_ << " not available";
379  meMissingCollections_-> Fill(1); // bin2: missing DCC headers
380  return;
381  // see bottom of cc file for compatibility to 2004 data [***]
382  }
383 
384  if ( ! enable ) return;
385  if ( ! init_ ) this->setup();
386  ievt_++;
387 
388  LV1_ = Header->eventNumber();
389 
391  const EcalUncalibratedRecHitCollection* uncalRecH =0;
392 
393  if ( e.getByLabel(EcalUncalibratedRecHitCollection_, pUncalRH) ) {
394  uncalRecH = pUncalRH.product(); // get a ptr to the product
395  int neh = pUncalRH->size();
396  LogDebug("EEBeamHodoTask") << EcalUncalibratedRecHitCollection_ << " found in event " << ievt_ << "; hits collection size " << neh;
397  } else {
398  edm::LogWarning("EEBeamHodoTask") << EcalUncalibratedRecHitCollection_ << " not available";
399  meMissingCollections_-> Fill(2); // bin3: missing uncalibRecHits
400  return;
401  }
402 
404  const EcalTBTDCRawInfo* rawTDC=0;
405 
406  if ( e.getByLabel(EcalTBTDCRawInfo_, pTDCRaw) ) {
407  rawTDC = pTDCRaw.product();
408  } else {
409  edm::LogError("EcalBeamTask") << "Error! Can't get the product EcalTBTDCRawInfo. Returning.";
410  meMissingCollections_-> Fill(4); // bin5: missing raw TDC
411  return;
412  }
413 
415  const EcalTBHodoscopeRawInfo* rawHodo=0;
416 
417  if ( e.getByLabel(EcalTBHodoscopeRawInfo_, pHodoRaw) ) {
418  rawHodo = pHodoRaw.product();
419  if(rawHodo->planes() ){
420  LogDebug("EcalBeamTask") << "hodoscopeRaw: num planes: " << rawHodo->planes()
421  << " channels in plane 1: " << rawHodo->channels(0);
422  }
423  } else {
424  edm::LogError("EcalBeamTask") << "Error! Can't get the product EcalTBHodoscopeRawInfo. Returning";
425  meMissingCollections_-> Fill(3); // bin4: missing raw hodo hits collection
426  return;
427  }
428 
429  if ( !rawTDC ||!rawHodo || !uncalRecH || !( rawHodo->planes() )) {
430  edm::LogWarning("EcalBeamTask") << "analyze: missing a needed collection or hodo collection empty. Returning.";
431  return;
432  }
433  LogDebug("EEBeamHodoTask") << " TDC raw, Hodo raw, uncalRecH and DCCheader found.";
434 
435 
436 
437  // table has come to a stop is identified by new value of cry_in_beam
438  // - increase counter of crystals that have been on beam
439  // - set flag for resetting
440  if (cryInBeam_ != previousCryInBeam_ ) {
443  resetNow_ = true;
444 
445  // since flag "tableIsMoving==false" is reliable (as we can tell, so far),
446  // operations due when "table has started moving"
447  // can be done after the change in crystal in beam
448 
449  LogDebug("EcalBeamTask") << "At event number : " << LV1_ << " switching table status: from moving to still. "
450  << " cry in beam is: " << cryInBeam_ << ", step being: " << cryInBeamCounter_ ;
451 
452  // fill here plots which keep history of beamed crystals
453  float HodoPosXMinusCaloPosXVsCry_mean =0;
454  float HodoPosXMinusCaloPosXVsCry_rms =0;
455  float HodoPosYMinusCaloPosYVsCry_mean =0;
456  float HodoPosYMinusCaloPosYVsCry_rms =0;
457  float TDCTimeMinusCaloTimeVsCry_mean =0;
458  float TDCTimeMinusCaloTimeVsCry_rms =0;
459 
460  // min number of entries chosen assuming:
461  // prescaling = 100 X 2FU
462  // that we want at leas 2k events per crystal
463 
464  if (meCaloVsHodoXPos_-> getEntries() > 10){
465  HodoPosXMinusCaloPosXVsCry_mean = meCaloVsHodoXPos_-> getMean(1);
466  HodoPosXMinusCaloPosXVsCry_rms = meCaloVsHodoXPos_-> getRMS(1);
467  meHodoPosXMinusCaloPosXVsCry_-> setBinContent( cryInBeamCounter_, HodoPosXMinusCaloPosXVsCry_mean);
468  meHodoPosXMinusCaloPosXVsCry_-> setBinError( cryInBeamCounter_, HodoPosXMinusCaloPosXVsCry_rms);
469  LogDebug("EcalBeamTask") << "At event number: " << LV1_ << " step: " << cryInBeamCounter_
470  << " DeltaPosX is: " << (meCaloVsHodoXPos_-> getMean(1))
471  << " +-" << ( meCaloVsHodoXPos_-> getRMS(1));
472  }
473  if (meCaloVsHodoYPos_-> getEntries() > 10){
474  HodoPosYMinusCaloPosYVsCry_mean = meCaloVsHodoYPos_-> getMean(1);
475  HodoPosYMinusCaloPosYVsCry_rms = meCaloVsHodoYPos_-> getRMS(1);
476  meHodoPosYMinusCaloPosYVsCry_-> setBinContent( cryInBeamCounter_, HodoPosYMinusCaloPosYVsCry_mean);
477  meHodoPosYMinusCaloPosYVsCry_-> setBinError( cryInBeamCounter_, HodoPosYMinusCaloPosYVsCry_rms);
478  LogDebug("EcalBeamTask") << "At event number: " << LV1_ << " step: " << cryInBeamCounter_
479  << " DeltaPosY is: " << (meCaloVsHodoYPos_-> getMean(1))
480  << " +-" << ( meCaloVsHodoYPos_-> getRMS(1));
481  }
482  if (meCaloVsTDCTime_-> getEntries() > 10){
483  TDCTimeMinusCaloTimeVsCry_mean = meCaloVsTDCTime_-> getMean(1);
484  TDCTimeMinusCaloTimeVsCry_rms = meCaloVsTDCTime_-> getRMS(1);
485  meTDCTimeMinusCaloTimeVsCry_-> setBinContent(cryInBeamCounter_, TDCTimeMinusCaloTimeVsCry_mean);
486  meTDCTimeMinusCaloTimeVsCry_-> setBinError(cryInBeamCounter_, TDCTimeMinusCaloTimeVsCry_rms);
487  LogDebug("EcalBeamTask") << "At event number: " << LV1_ << " step: " << cryInBeamCounter_
488  << " DeltaT is: " << (meCaloVsTDCTime_-> getMean(1))
489  << " +-" << ( meCaloVsTDCTime_-> getRMS(1));
490  }
491 
492  LogDebug("EcalBeamTask") << "At event number: " << LV1_ << " trace histos filled ( cryInBeamCounter_="
493  << cryInBeamCounter_ << ")";
494 
495  }
496 
497 
498 
499 
500  // if table has come to rest (from movement), reset concerned ME's
501  if (resetNow_)
502  {
505  meEvsXRecHis_->Reset();
506  meEvsYRecHis_->Reset();
510 
511  resetNow_ = false;
512  }
513 
514 
515 
516 
517  /**************************************
518  // handling histos type I:
519  **************************************/
520  for (unsigned int planeId=0; planeId <4; planeId++){
521 
522  const EcalTBHodoscopePlaneRawHits& planeRaw = rawHodo->getPlaneRawHits(planeId);
523  LogDebug("EcalBeamTask") << "\t plane: " << (planeId+1)
524  << "\t number of fibers: " << planeRaw.channels()
525  << "\t number of hits: " << planeRaw.numberOfFiredHits();
526  meHodoOcc_[planeId]-> Fill( planeRaw.numberOfFiredHits() );
527 
528  for (unsigned int i=0;i<planeRaw.channels();i++)
529  {
530  if (planeRaw.isChannelFired(i))
531  {
532  edm::LogInfo("EcalBeamTask")<< " channel " << (i+1) << " has fired";
533  meHodoRaw_[planeId]-> Fill(i+0.5);
534  }
535  }
536  }
537 
538 
539 
541  const EcalTBTDCRecInfo* recTDC=0;
542 
543  if ( e.getByLabel(EcalTBTDCRecInfo_, pTDC) ) {
544  recTDC = pTDC.product();
545  LogDebug("EEBeamHodoTask") << " TDC offset is: " << recTDC->offset();
546  } else {
547  edm::LogError("EcalBeamTask") << "Error! Can't get the product EcalTBTDCRecInfo. Returning";
548  meMissingCollections_-> Fill(5); // bin6: missing reconstructed TDC
549  return;
550  }
551 
553  const EcalTBHodoscopeRecInfo* recHodo=0;
554 
555  if ( e.getByLabel(EcalTBHodoscopeRecInfo_, pHodo) ) {
556  recHodo = pHodo.product();
557  LogDebug("EcalBeamTask") << "hodoscopeReco: x: " << recHodo->posX()
558  << "\ty: " << recHodo->posY()
559  << "\t sx: " << recHodo->slopeX() << "\t qualx: " << recHodo->qualX()
560  << "\t sy: " << recHodo->slopeY() << "\t qualy: " << recHodo->qualY();
561  } else {
562  edm::LogError("EcalBeamTask") << "Error! Can't get the product EcalTBHodoscopeRecInfo";
563  meMissingCollections_-> Fill(6); // bin7: missing reconstructed hodoscopes
564  return;
565  }
566 
567  if ( (!recHodo) || (!recTDC) ) {
568  edm::LogWarning("EcalBeamTask") << "analyze: missing a needed collection, recHodo or recTDC. Returning.";
569  return;
570  }
571  LogDebug("EEBeamHodoTask") << " Hodo reco and TDC reco found.";
572 
573  meTDCRec_->Fill( recTDC->offset());
574 
575  meHodoPosRecXY_->Fill( recHodo->posX(), recHodo->posY() );
576  meHodoPosRecX_->Fill( recHodo->posX());
577  meHodoPosRecY_->Fill( recHodo->posY() );
578  meHodoSloXRec_->Fill( recHodo->slopeX());
579  meHodoSloYRec_->Fill( recHodo->slopeY());
580  meHodoQuaXRec_->Fill( recHodo->qualX());
581  meHodoQuaYRec_->Fill( recHodo->qualY());
582 
583  /**************************************
584  // handling histos type II:
585  **************************************/
586 
587  if (tableIsMoving_) {
588  LogDebug("EcalBeamTask")<< "At event number:" << LV1_ << " table is moving. Not filling concerned monitoring elements. ";
589  return;
590  } else {
591  LogDebug("EcalBeamTask")<< "At event number:" << LV1_ << " table is not moving - thus filling alos monitoring elements requiring so.";
592  }
593 
594  float maxE =0;
595  EBDetId maxHitId(0);
596  for ( EEUncalibratedRecHitCollection::const_iterator uncalHitItr = pUncalRH->begin(); uncalHitItr!= pUncalRH->end(); uncalHitItr++ ) {
597  double e = (*uncalHitItr).amplitude();
598  if ( e <= 0. ) e = 0.0;
599  if ( e > maxE ) {
600  maxE = e;
601  maxHitId = (*uncalHitItr).id();
602  }
603  }
604  if ( maxHitId == EBDetId(0) ) {
605  edm::LogError("EEBeamHodoTask") << "No positive UncalRecHit found in ECAL in event " << ievt_ << " - returning.";
606  return;
607  }
608 
609  meEvsXRecProf_-> Fill(recHodo->posX(), maxE);
610  meEvsYRecProf_-> Fill(recHodo->posY(), maxE);
611  meEvsXRecHis_-> Fill(recHodo->posX(), maxE);
612  meEvsYRecHis_-> Fill(recHodo->posY(), maxE);
613 
614  edm::LogInfo("EcalBeamTask")<< " channel with max is " << maxHitId;
615 
616  bool mat5x5 =true;
617  int ietaMax = maxHitId.ieta();
618  int iphiMax = (maxHitId.iphi() % 20);
619  if (ietaMax ==1 || ietaMax ==2 || ietaMax ==84 || ietaMax == 85 ||
620  iphiMax ==1 || iphiMax ==2 || iphiMax ==19 || iphiMax == 20 )
621  {mat5x5 =false;}
622 
623  if (!mat5x5) return;
624 
625  EBDetId Xtals5x5[25];
626  double ene5x5[25];
627  double e25 =0;
628  for (unsigned int icry=0;icry<25;icry++)
629  {
630  unsigned int row = icry / 5;
631  unsigned int column= icry %5;
632  if ( EBDetId::validDetId(maxHitId.ieta()+column-2,maxHitId.iphi()+row-2) ) {
633  Xtals5x5[icry]=EBDetId(maxHitId.ieta()+column-2,maxHitId.iphi()+row-2,EBDetId::ETAPHIMODE);
634  double e = ( *pUncalRH->find( Xtals5x5[icry] ) ).amplitude();
635  if ( e <= 0. ) e = 0.0;
636  ene5x5[icry] =e;
637  e25 +=e;
638  } else {
639  LogDebug("EcalBeamTask")<< "Cannot construct 5x5 matrix around EBDetId " << maxHitId;
640  mat5x5 =false;
641  }
642  }
643 
644  if (!mat5x5) return;
645  LogDebug("EcalBeamTask")<< "Could construct 5x5 matrix around EBDetId " << maxHitId;
646 
647  // im mm
648  float sideX =24.06;
649  float sideY =22.02;
650  float caloX =0;
651  float caloY =0;
652  float weight=0;
653  float sumWeight=0;
654  // X and Y calculated from log-weighted energy center of mass
655  for (unsigned int icry=0;icry<25;icry++)
656  {
657  weight = log( ene5x5[icry] / e25) + 3.8;
658  if (weight>0)
659  {
660  unsigned int row = icry / 5;
661  unsigned int column = icry %5;
662  caloX += (column-2) * sideX * weight;
663  caloY -= (row-2) * sideY * weight;
664  sumWeight += weight;
665  }
666  }
667  caloX /=sumWeight;
668  caloY /=sumWeight;
669 
670  meCaloVsHodoXPos_->Fill( recHodo->posX()-caloX );
671  meCaloVsHodoYPos_->Fill( recHodo->posY()-caloY );
672  meCaloVsTDCTime_->Fill( (*pUncalRH->find( maxHitId ) ).jitter() - recTDC->offset() - 3);
673  LogDebug("EcalBeamTask")<< "jiitter from uncalRecHit: " << (*pUncalRH->find( maxHitId ) ).jitter();
674 
675 }
#define LogDebug(id)
MonitorElement * meCaloVsHodoXPos_
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.cc:59
MonitorElement * meHodoQuaXRec_
int i
Definition: DBlmapReader.cc:9
MonitorElement * meHodoPosRecXY_
const EcalTBHodoscopePlaneRawHits & getPlaneRawHits(unsigned int i) const
bool tableIsMoving() const
Tell if the table is Moving.
MonitorElement * meHodoSloYRec_
unsigned int channels() const
Get Methods.
std::vector< T >::const_iterator const_iterator
MonitorElement * meCaloVsTDCTime_
edm::InputTag EcalUncalibratedRecHitCollection_
MonitorElement * meHodoOcc_[4]
void setup(void)
Setup.
int crystalInBeam() const
Returns the crystal which is being hit by the beam (in the internal SM numbering scheme) ...
edm::InputTag EcalTBEventHeader_
MonitorElement * meEvsYRecHis_
MonitorElement * meHodoQuaYRec_
edm::InputTag EcalTBHodoscopeRawInfo_
void Fill(long long x)
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
unsigned int channels(unsigned int plane) const
MonitorElement * meHodoPosRecX_
edm::InputTag EcalTBTDCRecInfo_
MonitorElement * meHodoPosYMinusCaloPosYVsCry_
edm::InputTag EcalTBTDCRawInfo_
edm::InputTag EcalTBHodoscopeRecInfo_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
MonitorElement * meTDCRec_
static const int ETAPHIMODE
Definition: EBDetId.h:145
MonitorElement * meHodoSloXRec_
MonitorElement * meEvsYRecProf_
MonitorElement * meTDCTimeMinusCaloTimeVsCry_
Log< T >::type log(const T &t)
Definition: Log.h:22
MonitorElement * meHodoPosRecY_
MonitorElement * meHodoRaw_[4]
MonitorElement * meEvsXRecProf_
int eventNumber() const
Returns the event number.
T const * product() const
Definition: Handle.h:74
bool isChannelFired(unsigned int i) const
edm::EventID id() const
Definition: EventBase.h:56
MonitorElement * meHodoPosXMinusCaloPosXVsCry_
MonitorElement * meMissingCollections_
MonitorElement * meCaloVsHodoYPos_
static EcalSubdetector subDet(const EBDetId &id)
Definition: Numbers.cc:136
void Reset(void)
reset ME (ie. contents, errors, etc)
unsigned int planes() const
Get Methods.
MonitorElement * meEvsXRecHis_
float offset() const
edm::InputTag EcalRawDataCollection_
void EEBeamHodoTask::beginJob ( void  )
protectedvirtual

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 93 of file EEBeamHodoTask.cc.

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

93  {
94 
95  ievt_ = 0;
96 
97  LV1_ = 0;
99  resetNow_ =false;
100 
101  if ( dqmStore_ ) {
102  dqmStore_->setCurrentFolder(prefixME_ + "/EEBeamHodoTask");
103  dqmStore_->rmdir(prefixME_ + "/EEBeamHodoTask");
104  }
105 
106 }
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2311
DQMStore * dqmStore_
std::string prefixME_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
void EEBeamHodoTask::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 108 of file EEBeamHodoTask.cc.

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

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

Cleanup.

Definition at line 270 of file EEBeamHodoTask.cc.

References dqmStore_, edm::getName(), MonitorElement::getName(), i, init_, meCaloVsHodoXPos_, meCaloVsHodoYPos_, meCaloVsTDCTime_, meEvsXRecHis_, meEvsXRecProf_, meEvsYRecHis_, meEvsYRecProf_, meHodoOcc_, meHodoPosRecX_, meHodoPosRecXY_, meHodoPosRecY_, meHodoPosXMinusCaloPosXVsCry_, meHodoPosYMinusCaloPosYVsCry_, meHodoQuaXRec_, meHodoQuaYRec_, meHodoRaw_, meHodoSloXRec_, meHodoSloYRec_, meMissingCollections_, meTDCRec_, meTDCTimeMinusCaloTimeVsCry_, prefixME_, DQMStore::removeElement(), and DQMStore::setCurrentFolder().

Referenced by endJob().

270  {
271 
272  if ( ! init_ ) return;
273 
274  if ( dqmStore_ ) {
275  dqmStore_->setCurrentFolder(prefixME_ + "/EEBeamHodoTask");
276 
277  for (int i=0; i<4; i++) {
279  meHodoOcc_[i] = 0;
281  meHodoRaw_[i] = 0;
282  }
283 
285  meHodoPosRecX_ = 0;
287  meHodoPosRecY_ = 0;
289  meHodoPosRecXY_ = 0;
291  meHodoSloXRec_ = 0;
293  meHodoSloYRec_ = 0;
295  meHodoQuaXRec_ = 0;
297  meHodoQuaYRec_ = 0;
299  meTDCRec_ = 0;
301  meEvsXRecProf_ = 0;
303  meEvsYRecProf_ = 0;
305  meEvsXRecHis_ = 0;
307  meEvsYRecHis_ = 0;
309  meCaloVsHodoXPos_ = 0;
311  meCaloVsHodoYPos_ = 0;
313  meCaloVsTDCTime_ = 0;
322 
323  }
324 
325  init_ = false;
326 
327 }
MonitorElement * meCaloVsHodoXPos_
MonitorElement * meHodoQuaXRec_
const std::string & getName(void) const
get name of ME
int i
Definition: DBlmapReader.cc:9
MonitorElement * meHodoPosRecXY_
MonitorElement * meHodoSloYRec_
MonitorElement * meCaloVsTDCTime_
MonitorElement * meHodoOcc_[4]
DQMStore * dqmStore_
MonitorElement * meEvsYRecHis_
MonitorElement * meHodoQuaYRec_
void removeElement(const std::string &name)
Definition: DQMStore.cc:2353
MonitorElement * meHodoPosRecX_
std::string getName(Reflex::Type &cc)
Definition: ClassFiller.cc:18
MonitorElement * meHodoPosYMinusCaloPosYVsCry_
MonitorElement * meTDCRec_
MonitorElement * meHodoSloXRec_
MonitorElement * meEvsYRecProf_
MonitorElement * meTDCTimeMinusCaloTimeVsCry_
MonitorElement * meHodoPosRecY_
MonitorElement * meHodoRaw_[4]
MonitorElement * meEvsXRecProf_
std::string prefixME_
MonitorElement * meHodoPosXMinusCaloPosXVsCry_
MonitorElement * meMissingCollections_
MonitorElement * meCaloVsHodoYPos_
MonitorElement * meEvsXRecHis_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
void EEBeamHodoTask::endJob ( void  )
protectedvirtual

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 329 of file EEBeamHodoTask.cc.

References cleanup(), enableCleanup_, and ievt_.

329  {
330 
331  edm::LogInfo("EEBeamHodoTask") << "analyzed " << ievt_ << " events";
332 
333  if ( enableCleanup_ ) this->cleanup();
334 
335 }
void cleanup(void)
Cleanup.
void EEBeamHodoTask::endRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 116 of file EEBeamHodoTask.cc.

116  {
117 
118 }
void EEBeamHodoTask::reset ( void  )
protected

Reset.

Definition at line 120 of file EEBeamHodoTask.cc.

References i, meCaloVsHodoXPos_, meCaloVsHodoYPos_, meCaloVsTDCTime_, meEvsXRecHis_, meEvsXRecProf_, meEvsYRecHis_, meEvsYRecProf_, meHodoOcc_, meHodoPosRecX_, meHodoPosRecXY_, meHodoPosRecY_, meHodoPosXMinusCaloPosXVsCry_, meHodoPosYMinusCaloPosYVsCry_, meHodoQuaXRec_, meHodoQuaYRec_, meHodoRaw_, meHodoSloXRec_, meHodoSloYRec_, meMissingCollections_, meTDCRec_, meTDCTimeMinusCaloTimeVsCry_, and MonitorElement::Reset().

Referenced by beginRun().

120  {
121 
122  for (int i=0; i<4; i++) {
123  if ( meHodoOcc_[i] ) meHodoOcc_[i]->Reset();
124  if ( meHodoRaw_[i] ) meHodoRaw_[i]->Reset();
125  }
126 
134  if ( meTDCRec_ ) meTDCRec_->Reset();
146 
147 }
MonitorElement * meCaloVsHodoXPos_
MonitorElement * meHodoQuaXRec_
int i
Definition: DBlmapReader.cc:9
MonitorElement * meHodoPosRecXY_
MonitorElement * meHodoSloYRec_
MonitorElement * meCaloVsTDCTime_
MonitorElement * meHodoOcc_[4]
MonitorElement * meEvsYRecHis_
MonitorElement * meHodoQuaYRec_
MonitorElement * meHodoPosRecX_
MonitorElement * meHodoPosYMinusCaloPosYVsCry_
MonitorElement * meTDCRec_
MonitorElement * meHodoSloXRec_
MonitorElement * meEvsYRecProf_
MonitorElement * meTDCTimeMinusCaloTimeVsCry_
MonitorElement * meHodoPosRecY_
MonitorElement * meHodoRaw_[4]
MonitorElement * meEvsXRecProf_
MonitorElement * meHodoPosXMinusCaloPosXVsCry_
MonitorElement * meMissingCollections_
MonitorElement * meCaloVsHodoYPos_
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * meEvsXRecHis_
void EEBeamHodoTask::setup ( void  )
protected

Setup.

Definition at line 149 of file EEBeamHodoTask.cc.

References DQMStore::book1D(), DQMStore::book2D(), dqmStore_, i, init_, meCaloVsHodoXPos_, meCaloVsHodoYPos_, meCaloVsTDCTime_, meEvsXRecHis_, meEvsXRecProf_, meEvsYRecHis_, meEvsYRecProf_, meHodoOcc_, meHodoPosRecX_, meHodoPosRecXY_, meHodoPosRecY_, meHodoPosXMinusCaloPosXVsCry_, meHodoPosYMinusCaloPosYVsCry_, meHodoQuaXRec_, meHodoQuaYRec_, meHodoRaw_, meHodoSloXRec_, meHodoSloYRec_, meMissingCollections_, meTDCRec_, meTDCTimeMinusCaloTimeVsCry_, mergeVDriftHistosByStation::name, prefixME_, Numbers::sEE(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), and smId.

Referenced by analyze().

149  {
150 
151  init_ = true;
152 
153  smId =1;
154 
155  std::string name;
156  std::stringstream ss;
157 
158  if ( dqmStore_ ) {
159  dqmStore_->setCurrentFolder(prefixME_ + "/EEBeamHodoTask");
160 
161  // following ME (type I):
162  // *** do not need to be ever reset
163  // *** can be filled regardless of the moving/notMoving status of the table
164 
165  for (int i=0; i<4; i++) {
166  ss.str("");
167  ss << std::setw(2) << std::setfill('0') << i+1;
168 
169  name = "EEBHT occup " + Numbers::sEE(smId) + " " + ss.str();
170  meHodoOcc_[i] = dqmStore_->book1D(name, name, 30, 0., 30.);
171  meHodoOcc_[i]->setAxisTitle("hits per event", 1);
172 
173  name = "EEBHT raw " + Numbers::sEE(smId) + " " + ss.str();
174  meHodoRaw_[i] = dqmStore_->book1D(name, name, 64, 0., 64.);
175  meHodoRaw_[i]->setAxisTitle("hodo fiber number", 1);
176  }
177 
178  name = "EEBHT PosX rec " + Numbers::sEE(smId);
179  meHodoPosRecX_ = dqmStore_->book1D(name, name, 100, -20, 20);
180  meHodoPosRecX_->setAxisTitle("reconstructed position (mm)", 1);
181 
182  name = "EEBHT PosY rec " + Numbers::sEE(smId);
183  meHodoPosRecY_ = dqmStore_->book1D(name, name, 100, -20, 20);
184  meHodoPosRecY_->setAxisTitle("reconstructed position (mm)", 1);
185 
186  name = "EEBHT PosYX rec " + Numbers::sEE(smId);
187  meHodoPosRecXY_ = dqmStore_->book2D(name, name, 100, -20, 20,100, -20, 20);
188  meHodoPosRecXY_->setAxisTitle("reconstructed X position (mm)", 1);
189  meHodoPosRecXY_->setAxisTitle("reconstructed Y position (mm)", 2);
190 
191  name = "EEBHT SloX " + Numbers::sEE(smId);
192  meHodoSloXRec_ = dqmStore_->book1D(name, name, 50, -0.005, 0.005);
193  meHodoSloXRec_->setAxisTitle("reconstructed track slope", 1);
194 
195  name = "EEBHT SloY " + Numbers::sEE(smId);
196  meHodoSloYRec_ = dqmStore_->book1D(name, name, 50, -0.005, 0.005);
197  meHodoSloYRec_->setAxisTitle("reconstructed track slope", 1);
198 
199  name = "EEBHT QualX " + Numbers::sEE(smId);
200  meHodoQuaXRec_ = dqmStore_->book1D(name, name, 50, 0, 5);
201  meHodoQuaXRec_->setAxisTitle("track fit quality", 1);
202 
203  name = "EEBHT QualY " + Numbers::sEE(smId);
204  meHodoQuaYRec_ = dqmStore_->book1D(name, name, 50, 0, 5);
205  meHodoQuaYRec_->setAxisTitle("track fit quality", 1);
206 
207  name = "EEBHT TDC rec " + Numbers::sEE(smId);
208  meTDCRec_ = dqmStore_->book1D(name, name, 25, 0, 1);
209  meTDCRec_->setAxisTitle("offset", 1);
210 
211  name = "EEBHT Hodo-Calo X vs Cry " + Numbers::sEE(smId);
212  meHodoPosXMinusCaloPosXVsCry_ = dqmStore_->book1D(name, name, 50, 0, 50);
213  meHodoPosXMinusCaloPosXVsCry_->setAxisTitle("scan step number", 1);
214  meHodoPosXMinusCaloPosXVsCry_->setAxisTitle("PosX_{hodo} - PosX_{calo} (mm)", 2);
215 
216  name = "EEBHT Hodo-Calo Y vs Cry " + Numbers::sEE(smId);
217  meHodoPosYMinusCaloPosYVsCry_ = dqmStore_->book1D(name, name, 50, 0, 50);
218  meHodoPosYMinusCaloPosYVsCry_->setAxisTitle("scan step number", 1);
219  meHodoPosYMinusCaloPosYVsCry_->setAxisTitle("PosY_{hodo} - PosY_{calo} (mm)", 2);
220 
221  name = "EEBHT TDC-Calo vs Cry " + Numbers::sEE(smId);
222  meTDCTimeMinusCaloTimeVsCry_ = dqmStore_->book1D(name, name, 50, 0, 50);
223  meTDCTimeMinusCaloTimeVsCry_->setAxisTitle("scan step number", 1);
224  meTDCTimeMinusCaloTimeVsCry_->setAxisTitle("Time_{TDC} - Time_{calo} (sample)", 2);
225 
226  name = "EEBHT Missing Collections " + Numbers::sEE(smId);
227  meMissingCollections_ = dqmStore_->book1D(name, name, 7, 0, 7);
228  meMissingCollections_->setAxisTitle("missing collection", 1);
229 
230  // following ME (type II):
231  // *** can be filled only when table is **not** moving
232  // *** need to be reset once table goes from 'moving'->notMoving
233 
234  name = "EEBHT prof E1 vs X " + Numbers::sEE(smId);
235  meEvsXRecProf_ = dqmStore_-> bookProfile(name, name, 100, -20, 20, 500, 0, 5000, "s");
236  meEvsXRecProf_->setAxisTitle("PosX (mm)", 1);
237  meEvsXRecProf_->setAxisTitle("E1 (ADC)", 2);
238 
239  name = "EEBHT prof E1 vs Y " + Numbers::sEE(smId);
240  meEvsYRecProf_ = dqmStore_-> bookProfile(name, name, 100, -20, 20, 500, 0, 5000, "s");
241  meEvsYRecProf_->setAxisTitle("PosY (mm)", 1);
242  meEvsYRecProf_->setAxisTitle("E1 (ADC)", 2);
243 
244  name = "EEBHT his E1 vs X " + Numbers::sEE(smId);
245  meEvsXRecHis_ = dqmStore_-> book2D(name, name, 100, -20, 20, 500, 0, 5000);
246  meEvsXRecHis_->setAxisTitle("PosX (mm)", 1);
247  meEvsXRecHis_->setAxisTitle("E1 (ADC)", 2);
248 
249  name = "EEBHT his E1 vs Y " + Numbers::sEE(smId);
250  meEvsYRecHis_ = dqmStore_-> book2D(name, name, 100, -20, 20, 500, 0, 5000);
251  meEvsYRecHis_->setAxisTitle("PosY (mm)", 1);
252  meEvsYRecHis_->setAxisTitle("E1 (ADC)", 2);
253 
254  name = "EEBHT PosX Hodo-Calo " + Numbers::sEE(smId);
255  meCaloVsHodoXPos_ = dqmStore_->book1D(name, name, 40, -20, 20);
256  meCaloVsHodoXPos_->setAxisTitle("PosX_{hodo} - PosX_{calo} (mm)", 1);
257 
258  name = "EEBHT PosY Hodo-Calo " + Numbers::sEE(smId);
259  meCaloVsHodoYPos_ = dqmStore_->book1D(name, name, 40, -20, 20);
260  meCaloVsHodoYPos_->setAxisTitle("PosY_{hodo} - PosY_{calo} (mm)", 1);
261 
262  name = "EEBHT TimeMax TDC-Calo " + Numbers::sEE(smId);
263  meCaloVsTDCTime_ = dqmStore_->book1D(name, name, 100, -1, 1);//tentative
264  meCaloVsTDCTime_->setAxisTitle("Time_{TDC} - Time_{calo} (samples)", 1);
265 
266  }
267 
268 }
MonitorElement * meCaloVsHodoXPos_
MonitorElement * meHodoQuaXRec_
int i
Definition: DBlmapReader.cc:9
MonitorElement * meHodoPosRecXY_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
MonitorElement * meHodoSloYRec_
static std::string sEE(const int ism)
Definition: Numbers.cc:205
MonitorElement * meCaloVsTDCTime_
MonitorElement * meHodoOcc_[4]
DQMStore * dqmStore_
MonitorElement * meEvsYRecHis_
MonitorElement * meHodoQuaYRec_
MonitorElement * meHodoPosRecX_
MonitorElement * meHodoPosYMinusCaloPosYVsCry_
MonitorElement * meTDCRec_
MonitorElement * meHodoSloXRec_
MonitorElement * meEvsYRecProf_
MonitorElement * meTDCTimeMinusCaloTimeVsCry_
MonitorElement * meHodoPosRecY_
MonitorElement * meHodoRaw_[4]
MonitorElement * meEvsXRecProf_
std::string prefixME_
MonitorElement * meHodoPosXMinusCaloPosXVsCry_
MonitorElement * meMissingCollections_
MonitorElement * meCaloVsHodoYPos_
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
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * meEvsXRecHis_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232

Member Data Documentation

int EEBeamHodoTask::cryInBeam_
private

Definition at line 80 of file EEBeamHodoTask.h.

Referenced by analyze(), and EEBeamHodoTask().

int EEBeamHodoTask::cryInBeamCounter_
private

Definition at line 82 of file EEBeamHodoTask.h.

Referenced by analyze(), and beginJob().

DQMStore* EEBeamHodoTask::dqmStore_
private

Definition at line 61 of file EEBeamHodoTask.h.

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

edm::InputTag EEBeamHodoTask::EcalRawDataCollection_
private

Definition at line 70 of file EEBeamHodoTask.h.

Referenced by analyze(), and EEBeamHodoTask().

edm::InputTag EEBeamHodoTask::EcalTBEventHeader_
private

Definition at line 69 of file EEBeamHodoTask.h.

Referenced by analyze(), and EEBeamHodoTask().

edm::InputTag EEBeamHodoTask::EcalTBHodoscopeRawInfo_
private

Definition at line 73 of file EEBeamHodoTask.h.

Referenced by analyze(), and EEBeamHodoTask().

edm::InputTag EEBeamHodoTask::EcalTBHodoscopeRecInfo_
private

Definition at line 75 of file EEBeamHodoTask.h.

Referenced by analyze(), and EEBeamHodoTask().

edm::InputTag EEBeamHodoTask::EcalTBTDCRawInfo_
private

Definition at line 72 of file EEBeamHodoTask.h.

Referenced by analyze(), and EEBeamHodoTask().

edm::InputTag EEBeamHodoTask::EcalTBTDCRecInfo_
private

Definition at line 74 of file EEBeamHodoTask.h.

Referenced by analyze(), and EEBeamHodoTask().

edm::InputTag EEBeamHodoTask::EcalUncalibratedRecHitCollection_
private

Definition at line 71 of file EEBeamHodoTask.h.

Referenced by analyze(), and EEBeamHodoTask().

bool EEBeamHodoTask::enableCleanup_
private

Definition at line 65 of file EEBeamHodoTask.h.

Referenced by EEBeamHodoTask(), and endJob().

int EEBeamHodoTask::ievt_
private

Definition at line 59 of file EEBeamHodoTask.h.

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

bool EEBeamHodoTask::init_
private

Definition at line 109 of file EEBeamHodoTask.h.

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

int EEBeamHodoTask::LV1_
private

Definition at line 77 of file EEBeamHodoTask.h.

Referenced by analyze(), and beginJob().

MonitorElement* EEBeamHodoTask::meCaloVsHodoXPos_
private

Definition at line 105 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meCaloVsHodoYPos_
private

Definition at line 106 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meCaloVsTDCTime_
private

Definition at line 107 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meEvsXRecHis_
private

Definition at line 103 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meEvsXRecProf_
private

Definition at line 101 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meEvsYRecHis_
private

Definition at line 104 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meEvsYRecProf_
private

Definition at line 102 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meHodoOcc_[4]
private

Definition at line 85 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meHodoPosRecX_
private

Definition at line 88 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meHodoPosRecXY_
private

Definition at line 87 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meHodoPosRecY_
private

Definition at line 89 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meHodoPosXMinusCaloPosXVsCry_
private

Definition at line 95 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meHodoPosYMinusCaloPosYVsCry_
private

Definition at line 96 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meHodoQuaXRec_
private

Definition at line 92 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meHodoQuaYRec_
private

Definition at line 93 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meHodoRaw_[4]
private

Definition at line 86 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meHodoSloXRec_
private

Definition at line 90 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meHodoSloYRec_
private

Definition at line 91 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meMissingCollections_
private

Definition at line 98 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

bool EEBeamHodoTask::mergeRuns_
private

Definition at line 67 of file EEBeamHodoTask.h.

Referenced by beginRun(), and EEBeamHodoTask().

MonitorElement* EEBeamHodoTask::meTDCRec_
private

Definition at line 94 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

MonitorElement* EEBeamHodoTask::meTDCTimeMinusCaloTimeVsCry_
private

Definition at line 97 of file EEBeamHodoTask.h.

Referenced by analyze(), cleanup(), EEBeamHodoTask(), reset(), and setup().

std::string EEBeamHodoTask::prefixME_
private

Definition at line 63 of file EEBeamHodoTask.h.

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

int EEBeamHodoTask::previousCryInBeam_
private

Definition at line 81 of file EEBeamHodoTask.h.

Referenced by analyze(), and EEBeamHodoTask().

bool EEBeamHodoTask::resetNow_
private

Definition at line 79 of file EEBeamHodoTask.h.

Referenced by analyze(), and beginJob().

int EEBeamHodoTask::smId
private

Definition at line 111 of file EEBeamHodoTask.h.

Referenced by setup().

bool EEBeamHodoTask::tableIsMoving_
private

Definition at line 78 of file EEBeamHodoTask.h.

Referenced by analyze(), and EEBeamHodoTask().