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 32 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_.

32  {
33 
34  init_ = false;
35 
37 
38  prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", "");
39 
40  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
41 
42  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
43 
44  EcalTBEventHeader_ = ps.getParameter<edm::InputTag>("EcalTBEventHeader");
45  EcalRawDataCollection_ = ps.getParameter<edm::InputTag>("EcalRawDataCollection");
46  EcalUncalibratedRecHitCollection_ = ps.getParameter<edm::InputTag>("EcalUncalibratedRecHitCollection");
47  EcalTBTDCRawInfo_ = ps.getParameter<edm::InputTag>("EcalTBTDCRawInfo");
48  EcalTBHodoscopeRawInfo_ = ps.getParameter<edm::InputTag>("EcalTBHodoscopeRawInfo");
49  EcalTBTDCRecInfo_ = ps.getParameter<edm::InputTag>("EcalTBTDCRecInfo");
50  EcalTBHodoscopeRecInfo_ = ps.getParameter<edm::InputTag>("EcalTBHodoscopeRecInfo");
51 
52  tableIsMoving_ = false;
53  cryInBeam_ =0;
54  previousCryInBeam_ = -99999;
55 
56  // to be filled all the time
57  for (int i=0; i<4; i++) {
58  meHodoOcc_[i] =0;
59  meHodoRaw_[i] =0;
60  }
61  meTDCRec_ =0;
62 
63  // filled only when: the table does not move
64  meHodoPosRecX_ =0;
65  meHodoPosRecY_ =0;
66  meHodoPosRecXY_ =0;
67  meHodoSloXRec_ =0;
68  meHodoSloYRec_ =0;
69  meHodoQuaXRec_ =0;
70  meHodoQuaYRec_ =0;
75 
76  meEvsXRecProf_ =0;
77  meEvsYRecProf_ =0;
78  meEvsXRecHis_ =0;
79  meEvsYRecHis_ =0;
80 
81  // and matrix 5x5 available
85 
86 }
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 88 of file EEBeamHodoTask.cc.

88  {
89 
90 }

Member Function Documentation

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

Analyze.

Implements edm::EDAnalyzer.

Definition at line 331 of file EEBeamHodoTask.cc.

References EcalDCCHeaderBlock::BEAMH2, EcalDCCHeaderBlock::BEAMH4, EcalTBHodoscopePlaneRawHits::channels(), EcalTBHodoscopeRawInfo::channels(), cryInBeam_, cryInBeamCounter_, EcalTBEventHeader::crystalInBeam(), ExpressReco_HICollisions_FallBack::e, EcalEndcap, EcalRawDataCollection_, EcalTBEventHeader_, EcalTBHodoscopeRawInfo_, EcalTBHodoscopeRecInfo_, EcalTBTDCRawInfo_, EcalTBTDCRecInfo_, EcalUncalibratedRecHitCollection_, EBDetId::ETAPHIMODE, EcalTBEventHeader::eventNumber(), MonitorElement::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().

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

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

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

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 107 of file EEBeamHodoTask.cc.

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

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

Cleanup.

Definition at line 264 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().

264  {
265 
266  if ( ! init_ ) return;
267 
268  if ( dqmStore_ ) {
269  dqmStore_->setCurrentFolder(prefixME_ + "/EEBeamHodoTask");
270 
271  for (int i=0; i<4; i++) {
273  meHodoOcc_[i] = 0;
275  meHodoRaw_[i] = 0;
276  }
277 
279  meHodoPosRecX_ = 0;
281  meHodoPosRecY_ = 0;
283  meHodoPosRecXY_ = 0;
285  meHodoSloXRec_ = 0;
287  meHodoSloYRec_ = 0;
289  meHodoQuaXRec_ = 0;
291  meHodoQuaYRec_ = 0;
293  meTDCRec_ = 0;
295  meEvsXRecProf_ = 0;
297  meEvsYRecProf_ = 0;
299  meEvsXRecHis_ = 0;
301  meEvsYRecHis_ = 0;
303  meCaloVsHodoXPos_ = 0;
305  meCaloVsHodoYPos_ = 0;
307  meCaloVsTDCTime_ = 0;
316 
317  }
318 
319  init_ = false;
320 
321 }
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:2338
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:237
void EEBeamHodoTask::endJob ( void  )
protectedvirtual

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 323 of file EEBeamHodoTask.cc.

References cleanup(), enableCleanup_, and ievt_.

323  {
324 
325  edm::LogInfo("EEBeamHodoTask") << "analyzed " << ievt_ << " events";
326 
327  if ( enableCleanup_ ) this->cleanup();
328 
329 }
void cleanup(void)
Cleanup.
void EEBeamHodoTask::endRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 115 of file EEBeamHodoTask.cc.

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

Reset.

Definition at line 119 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().

119  {
120 
121  for (int i=0; i<4; i++) {
122  if ( meHodoOcc_[i] ) meHodoOcc_[i]->Reset();
123  if ( meHodoRaw_[i] ) meHodoRaw_[i]->Reset();
124  }
125 
133  if ( meTDCRec_ ) meTDCRec_->Reset();
145 
146 }
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 148 of file EEBeamHodoTask.cc.

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

Referenced by analyze().

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

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