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
EBLaserTask Class Reference

#include <EBLaserTask.h>

Inheritance diagram for EBLaserTask:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 EBLaserTask (const edm::ParameterSet &ps)
 Constructor. More...
 
virtual ~EBLaserTask ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndex indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

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
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Attributes

DQMStoredqmStore_
 
edm::InputTag EBDigiCollection_
 
edm::InputTag EcalPnDiodeDigiCollection_
 
edm::InputTag EcalRawDataCollection_
 
edm::InputTag EcalUncalibratedRecHitCollection_
 
bool enableCleanup_
 
int ievt_
 
bool init_
 
std::vector< int > laserWavelengths_
 
MonitorElementmeAmplMapL1_ [36]
 
MonitorElementmeAmplMapL2_ [36]
 
MonitorElementmeAmplMapL3_ [36]
 
MonitorElementmeAmplMapL4_ [36]
 
MonitorElementmeAmplPNMapL1_ [36]
 
MonitorElementmeAmplPNMapL2_ [36]
 
MonitorElementmeAmplPNMapL3_ [36]
 
MonitorElementmeAmplPNMapL4_ [36]
 
MonitorElementmeAmplSummaryMapL1_
 
MonitorElementmeAmplSummaryMapL2_
 
MonitorElementmeAmplSummaryMapL3_
 
MonitorElementmeAmplSummaryMapL4_
 
MonitorElementmePnAmplMapG01L1_ [36]
 
MonitorElementmePnAmplMapG01L2_ [36]
 
MonitorElementmePnAmplMapG01L3_ [36]
 
MonitorElementmePnAmplMapG01L4_ [36]
 
MonitorElementmePnAmplMapG16L1_ [36]
 
MonitorElementmePnAmplMapG16L2_ [36]
 
MonitorElementmePnAmplMapG16L3_ [36]
 
MonitorElementmePnAmplMapG16L4_ [36]
 
MonitorElementmePnPedMapG01L1_ [36]
 
MonitorElementmePnPedMapG01L2_ [36]
 
MonitorElementmePnPedMapG01L3_ [36]
 
MonitorElementmePnPedMapG01L4_ [36]
 
MonitorElementmePnPedMapG16L1_ [36]
 
MonitorElementmePnPedMapG16L2_ [36]
 
MonitorElementmePnPedMapG16L3_ [36]
 
MonitorElementmePnPedMapG16L4_ [36]
 
bool mergeRuns_
 
MonitorElementmeShapeMapL1_ [36]
 
MonitorElementmeShapeMapL2_ [36]
 
MonitorElementmeShapeMapL3_ [36]
 
MonitorElementmeShapeMapL4_ [36]
 
MonitorElementmeTimeMapL1_ [36]
 
MonitorElementmeTimeMapL2_ [36]
 
MonitorElementmeTimeMapL3_ [36]
 
MonitorElementmeTimeMapL4_ [36]
 
std::string prefixME_
 

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 20 of file EBLaserTask.h.

Constructor & Destructor Documentation

EBLaserTask::EBLaserTask ( const edm::ParameterSet ps)

Constructor.

Definition at line 33 of file EBLaserTask.cc.

References dqmStore_, EBDigiCollection_, EcalPnDiodeDigiCollection_, EcalRawDataCollection_, EcalUncalibratedRecHitCollection_, enableCleanup_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, init_, laserWavelengths_, meAmplMapL1_, meAmplMapL2_, meAmplMapL3_, meAmplMapL4_, meAmplPNMapL1_, meAmplPNMapL2_, meAmplPNMapL3_, meAmplPNMapL4_, meAmplSummaryMapL1_, meAmplSummaryMapL2_, meAmplSummaryMapL3_, meAmplSummaryMapL4_, mePnAmplMapG01L1_, mePnAmplMapG01L2_, mePnAmplMapG01L3_, mePnAmplMapG01L4_, mePnAmplMapG16L1_, mePnAmplMapG16L2_, mePnAmplMapG16L3_, mePnAmplMapG16L4_, mePnPedMapG01L1_, mePnPedMapG01L2_, mePnPedMapG01L3_, mePnPedMapG01L4_, mePnPedMapG16L1_, mePnPedMapG16L2_, mePnPedMapG16L3_, mePnPedMapG16L4_, mergeRuns_, meShapeMapL1_, meShapeMapL2_, meShapeMapL3_, meShapeMapL4_, meTimeMapL1_, meTimeMapL2_, meTimeMapL3_, meTimeMapL4_, cppFunctionSkipper::operator, prefixME_, and AlCaHLTBitMon_QueryRunRegistry::string.

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  EcalRawDataCollection_ = ps.getParameter<edm::InputTag>("EcalRawDataCollection");
46  EBDigiCollection_ = ps.getParameter<edm::InputTag>("EBDigiCollection");
47  EcalPnDiodeDigiCollection_ = ps.getParameter<edm::InputTag>("EcalPnDiodeDigiCollection");
48  EcalUncalibratedRecHitCollection_ = ps.getParameter<edm::InputTag>("EcalUncalibratedRecHitCollection");
49 
50  // vector of enabled wavelengths (Default to all 4)
51  laserWavelengths_.reserve(4);
52  for ( unsigned int i = 1; i <= 4; i++ ) laserWavelengths_.push_back(i);
53  laserWavelengths_ = ps.getUntrackedParameter<std::vector<int> >("laserWavelengths", laserWavelengths_);
54 
55  for (int i = 0; i < 36; i++) {
56  meShapeMapL1_[i] = 0;
57  meAmplMapL1_[i] = 0;
58  meTimeMapL1_[i] = 0;
59  meAmplPNMapL1_[i] = 0;
60  mePnAmplMapG01L1_[i] = 0;
61  mePnPedMapG01L1_[i] = 0;
62  mePnAmplMapG16L1_[i] = 0;
63  mePnPedMapG16L1_[i] = 0;
64 
65  meShapeMapL2_[i] = 0;
66  meAmplMapL2_[i] = 0;
67  meTimeMapL2_[i] = 0;
68  meAmplPNMapL2_[i] = 0;
69  mePnAmplMapG01L2_[i] = 0;
70  mePnPedMapG01L2_[i] = 0;
71  mePnAmplMapG16L2_[i] = 0;
72  mePnPedMapG16L2_[i] = 0;
73 
74  meShapeMapL3_[i] = 0;
75  meAmplMapL3_[i] = 0;
76  meTimeMapL3_[i] = 0;
77  meAmplPNMapL3_[i] = 0;
78  mePnAmplMapG01L3_[i] = 0;
79  mePnPedMapG01L3_[i] = 0;
80  mePnAmplMapG16L3_[i] = 0;
81  mePnPedMapG16L3_[i] = 0;
82 
83  meShapeMapL4_[i] = 0;
84  meAmplMapL4_[i] = 0;
85  meTimeMapL4_[i] = 0;
86  meAmplPNMapL4_[i] = 0;
87  mePnAmplMapG01L4_[i] = 0;
88  mePnPedMapG01L4_[i] = 0;
89  mePnAmplMapG16L4_[i] = 0;
90  mePnPedMapG16L4_[i] = 0;
91  }
92 
97 
98 }
MonitorElement * mePnAmplMapG16L3_[36]
Definition: EBLaserTask.h:98
MonitorElement * meTimeMapL4_[36]
Definition: EBLaserTask.h:103
MonitorElement * meShapeMapL3_[36]
Definition: EBLaserTask.h:92
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
MonitorElement * meTimeMapL2_[36]
Definition: EBLaserTask.h:85
MonitorElement * meAmplSummaryMapL4_
Definition: EBLaserTask.h:113
MonitorElement * meAmplSummaryMapL1_
Definition: EBLaserTask.h:110
edm::InputTag EcalUncalibratedRecHitCollection_
Definition: EBLaserTask.h:71
MonitorElement * mePnPedMapG16L3_[36]
Definition: EBLaserTask.h:99
MonitorElement * meAmplMapL2_[36]
Definition: EBLaserTask.h:84
std::vector< int > laserWavelengths_
Definition: EBLaserTask.h:72
edm::InputTag EBDigiCollection_
Definition: EBLaserTask.h:69
MonitorElement * meAmplPNMapL4_[36]
Definition: EBLaserTask.h:104
edm::InputTag EcalRawDataCollection_
Definition: EBLaserTask.h:68
MonitorElement * meTimeMapL1_[36]
Definition: EBLaserTask.h:76
MonitorElement * mePnAmplMapG01L2_[36]
Definition: EBLaserTask.h:87
MonitorElement * mePnPedMapG16L2_[36]
Definition: EBLaserTask.h:90
edm::InputTag EcalPnDiodeDigiCollection_
Definition: EBLaserTask.h:70
MonitorElement * meTimeMapL3_[36]
Definition: EBLaserTask.h:94
MonitorElement * mePnAmplMapG01L4_[36]
Definition: EBLaserTask.h:105
MonitorElement * meAmplMapL4_[36]
Definition: EBLaserTask.h:102
MonitorElement * mePnPedMapG01L3_[36]
Definition: EBLaserTask.h:97
MonitorElement * mePnAmplMapG16L2_[36]
Definition: EBLaserTask.h:89
MonitorElement * meAmplSummaryMapL2_
Definition: EBLaserTask.h:111
MonitorElement * meShapeMapL4_[36]
Definition: EBLaserTask.h:101
DQMStore * dqmStore_
Definition: EBLaserTask.h:60
MonitorElement * meAmplPNMapL1_[36]
Definition: EBLaserTask.h:77
MonitorElement * mePnPedMapG01L1_[36]
Definition: EBLaserTask.h:79
MonitorElement * mePnAmplMapG16L4_[36]
Definition: EBLaserTask.h:107
MonitorElement * meAmplPNMapL2_[36]
Definition: EBLaserTask.h:86
MonitorElement * meAmplMapL1_[36]
Definition: EBLaserTask.h:75
MonitorElement * meShapeMapL2_[36]
Definition: EBLaserTask.h:83
MonitorElement * meShapeMapL1_[36]
Definition: EBLaserTask.h:74
bool mergeRuns_
Definition: EBLaserTask.h:66
bool enableCleanup_
Definition: EBLaserTask.h:64
MonitorElement * mePnAmplMapG01L3_[36]
Definition: EBLaserTask.h:96
MonitorElement * mePnAmplMapG16L1_[36]
Definition: EBLaserTask.h:80
MonitorElement * mePnAmplMapG01L1_[36]
Definition: EBLaserTask.h:78
MonitorElement * mePnPedMapG01L4_[36]
Definition: EBLaserTask.h:106
MonitorElement * mePnPedMapG16L1_[36]
Definition: EBLaserTask.h:81
std::string prefixME_
Definition: EBLaserTask.h:62
MonitorElement * meAmplMapL3_[36]
Definition: EBLaserTask.h:93
MonitorElement * meAmplPNMapL3_[36]
Definition: EBLaserTask.h:95
MonitorElement * mePnPedMapG16L4_[36]
Definition: EBLaserTask.h:108
MonitorElement * mePnPedMapG01L2_[36]
Definition: EBLaserTask.h:88
MonitorElement * meAmplSummaryMapL3_
Definition: EBLaserTask.h:112
EBLaserTask::~EBLaserTask ( )
virtual

Destructor.

Definition at line 100 of file EBLaserTask.cc.

100  {
101 
102 }

Member Function Documentation

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

Analyze.

Implements edm::EDAnalyzer.

Definition at line 664 of file EBLaserTask.cc.

References ecalMGPA::adc(), EcalMGPASample::adc(), EBDigiCollection_, EcalBarrel, EcalPnDiodeDigiCollection_, EcalRawDataCollection_, EcalUncalibratedRecHitCollection_, MonitorElement::Fill(), edm::Event::getByLabel(), i, EBDetId::ic(), ievt_, init_, ecalpyutils::ism(), Numbers::iSM(), EcalDCCHeaderBlock::LASER_GAP, EcalDCCHeaderBlock::LASER_STD, LogDebug, max(), meAmplMapL1_, meAmplMapL2_, meAmplMapL3_, meAmplMapL4_, meAmplPNMapL1_, meAmplPNMapL2_, meAmplPNMapL3_, meAmplPNMapL4_, meAmplSummaryMapL1_, meAmplSummaryMapL2_, meAmplSummaryMapL3_, meAmplSummaryMapL4_, mePnAmplMapG01L1_, mePnAmplMapG01L2_, mePnAmplMapG01L3_, mePnAmplMapG01L4_, mePnAmplMapG16L1_, mePnAmplMapG16L2_, mePnAmplMapG16L3_, mePnAmplMapG16L4_, mePnPedMapG01L1_, mePnPedMapG01L2_, mePnPedMapG01L3_, mePnPedMapG01L4_, mePnPedMapG16L1_, mePnPedMapG16L2_, mePnPedMapG16L3_, mePnPedMapG16L4_, meShapeMapL1_, meShapeMapL2_, meShapeMapL3_, meShapeMapL4_, meTimeMapL1_, meTimeMapL2_, meTimeMapL3_, meTimeMapL4_, min, Numbers::RtHalf(), environment_file_cff::runType, EcalDataFrame::sample(), setup(), Numbers::subDet(), and dtDQMClient_cfg::threshold.

664  {
665 
666  bool enable = false;
667  int runType[36];
668  for (int i=0; i<36; i++) runType[i] = -1;
669  unsigned rtHalf[36];
670  for (int i=0; i<36; i++) rtHalf[i] = -1;
671  int waveLength[36];
672  for (int i=0; i<36; i++) waveLength[i] = -1;
673 
675 
676  if ( e.getByLabel(EcalRawDataCollection_, dcchs) ) {
677 
678  for ( EcalRawDataCollection::const_iterator dcchItr = dcchs->begin(); dcchItr != dcchs->end(); ++dcchItr ) {
679 
680  if ( Numbers::subDet( *dcchItr ) != EcalBarrel ) continue;
681 
682  int ism = Numbers::iSM( *dcchItr, EcalBarrel );
683 
684  runType[ism-1] = dcchItr->getRunType();
685  rtHalf[ism-1] = dcchItr->getRtHalf();
686  waveLength[ism-1] = dcchItr->getEventSettings().wavelength;
687 
688  if ( dcchItr->getRunType() == EcalDCCHeaderBlock::LASER_STD ||
689  dcchItr->getRunType() == EcalDCCHeaderBlock::LASER_GAP ) enable = true;
690 
691  }
692 
693  } else {
694 
695  edm::LogWarning("EBLaserTask") << EcalRawDataCollection_ << " not available";
696 
697  }
698 
699  if ( ! enable ) return;
700 
701  if ( ! init_ ) this->setup();
702 
703  ievt_++;
704 
706 
707  if ( e.getByLabel(EBDigiCollection_, digis) ) {
708 
709  int maxpos[10];
710  for(int i(0); i < 10; i++)
711  maxpos[i] = 0;
712 
713  int nReadouts(0);
714 
715  for ( EBDigiCollection::const_iterator digiItr = digis->begin(); digiItr != digis->end(); ++digiItr ) {
716 
717  EBDetId id = digiItr->id();
718 
719  int ism = Numbers::iSM( id );
720 
721  if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::LASER_STD ||
722  runType[ism-1] == EcalDCCHeaderBlock::LASER_GAP ) ) continue;
723 
724  if ( rtHalf[ism-1] != Numbers::RtHalf(id) ) continue;
725 
726  nReadouts++;
727 
728  EBDataFrame dataframe = (*digiItr);
729 
730  int iMax(-1);
731  float max(0.);
732  float min(4096.);
733  for (int i = 0; i < 10; i++) {
734  int adc = dataframe.sample(i).adc();
735  if(adc > max){
736  max = adc;
737  iMax = i;
738  }
739  if(adc < min)
740  min = adc;
741  }
742  if(iMax >= 0 && max - min > 20.)
743  maxpos[iMax] += 1;
744 
745  }
746 
747  int threshold(nReadouts / 2);
748  enable = false;
749  for(int i(0); i < 10; i++){
750  if(maxpos[i] > threshold){
751  enable = true;
752  break;
753  }
754  }
755 
756  if(!enable) return;
757 
758  int nebd = digis->size();
759  LogDebug("EBLaserTask") << "event " << ievt_ << " digi collection size " << nebd;
760 
761  for ( EBDigiCollection::const_iterator digiItr = digis->begin(); digiItr != digis->end(); ++digiItr ) {
762 
763  EBDetId id = digiItr->id();
764 
765  int ic = id.ic();
766 
767  int ism = Numbers::iSM( id );
768 
769  if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::LASER_STD ||
770  runType[ism-1] == EcalDCCHeaderBlock::LASER_GAP ) ) continue;
771 
772  if ( rtHalf[ism-1] != Numbers::RtHalf(id) ) continue;
773 
774  EBDataFrame dataframe = (*digiItr);
775 
776  for (int i = 0; i < 10; i++) {
777 
778  int adc = dataframe.sample(i).adc();
779 
780  MonitorElement* meShapeMap = 0;
781 
782  if ( rtHalf[ism-1] == 0 || rtHalf[ism-1] == 1 ) {
783 
784  if ( waveLength[ism-1] == 0 ) meShapeMap = meShapeMapL1_[ism-1];
785  if ( waveLength[ism-1] == 1 ) meShapeMap = meShapeMapL2_[ism-1];
786  if ( waveLength[ism-1] == 2 ) meShapeMap = meShapeMapL3_[ism-1];
787  if ( waveLength[ism-1] == 3 ) meShapeMap = meShapeMapL4_[ism-1];
788 
789  } else {
790 
791  edm::LogWarning("EBLaserTask") << " RtHalf = " << rtHalf[ism-1];
792 
793  }
794 
795  float xval = float(adc);
796 
797  if ( meShapeMap ) meShapeMap->Fill(ic - 0.5, i + 0.5, xval);
798 
799  }
800 
801  }
802 
803  } else {
804 
805  edm::LogWarning("EBLaserTask") << EBDigiCollection_ << " not available";
806 
807  }
808 
809  float adcA[36];
810  float adcB[36];
811 
812  for ( int i = 0; i < 36; i++ ) {
813  adcA[i] = 0.;
814  adcB[i] = 0.;
815  }
816 
818 
819  if ( e.getByLabel(EcalPnDiodeDigiCollection_, pns) ) {
820 
821  int nep = pns->size();
822  LogDebug("EBLaserTask") << "event " << ievt_ << " pns collection size " << nep;
823 
824  for ( EcalPnDiodeDigiCollection::const_iterator pnItr = pns->begin(); pnItr != pns->end(); ++pnItr ) {
825 
826  if ( Numbers::subDet( pnItr->id() ) != EcalBarrel ) continue;
827 
828  int ism = Numbers::iSM( pnItr->id() );
829 
830  int num = pnItr->id().iPnId();
831 
832  if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::LASER_STD ||
833  runType[ism-1] == EcalDCCHeaderBlock::LASER_GAP ) ) continue;
834 
835  float xvalped = 0.;
836 
837  for (int i = 0; i < 4; i++) {
838 
839  int adc = pnItr->sample(i).adc();
840 
841  MonitorElement* mePNPed = 0;
842 
843  if ( pnItr->sample(i).gainId() == 0 ) {
844  if ( waveLength[ism-1] == 0 ) mePNPed = mePnPedMapG01L1_[ism-1];
845  if ( waveLength[ism-1] == 1 ) mePNPed = mePnPedMapG01L2_[ism-1];
846  if ( waveLength[ism-1] == 2 ) mePNPed = mePnPedMapG01L3_[ism-1];
847  if ( waveLength[ism-1] == 3 ) mePNPed = mePnPedMapG01L4_[ism-1];
848  }
849  if ( pnItr->sample(i).gainId() == 1 ) {
850  if ( waveLength[ism-1] == 0 ) mePNPed = mePnPedMapG16L1_[ism-1];
851  if ( waveLength[ism-1] == 1 ) mePNPed = mePnPedMapG16L2_[ism-1];
852  if ( waveLength[ism-1] == 2 ) mePNPed = mePnPedMapG16L3_[ism-1];
853  if ( waveLength[ism-1] == 3 ) mePNPed = mePnPedMapG16L4_[ism-1];
854  }
855 
856  float xval = float(adc);
857 
858  if ( mePNPed ) mePNPed->Fill(num - 0.5, xval);
859 
860  xvalped = xvalped + xval;
861 
862  }
863 
864  xvalped = xvalped / 4;
865 
866  float xvalmax = 0.;
867 
868  MonitorElement* mePN = 0;
869 
870  for (int i = 0; i < 50; i++) {
871 
872  int adc = pnItr->sample(i).adc();
873 
874  float xval = float(adc);
875 
876  if ( xval >= xvalmax ) xvalmax = xval;
877 
878  }
879 
880  xvalmax = xvalmax - xvalped;
881 
882  if ( pnItr->sample(0).gainId() == 0 ) {
883  if ( waveLength[ism-1] == 0 ) mePN = mePnAmplMapG01L1_[ism-1];
884  if ( waveLength[ism-1] == 1 ) mePN = mePnAmplMapG01L2_[ism-1];
885  if ( waveLength[ism-1] == 2 ) mePN = mePnAmplMapG01L3_[ism-1];
886  if ( waveLength[ism-1] == 3 ) mePN = mePnAmplMapG01L4_[ism-1];
887  }
888  if ( pnItr->sample(0).gainId() == 1 ) {
889  if ( waveLength[ism-1] == 0 ) mePN = mePnAmplMapG16L1_[ism-1];
890  if ( waveLength[ism-1] == 1 ) mePN = mePnAmplMapG16L2_[ism-1];
891  if ( waveLength[ism-1] == 2 ) mePN = mePnAmplMapG16L3_[ism-1];
892  if ( waveLength[ism-1] == 3 ) mePN = mePnAmplMapG16L4_[ism-1];
893  }
894 
895  if ( mePN ) mePN->Fill(num - 0.5, xvalmax);
896 
897  if ( num == 1 ) adcA[ism-1] = xvalmax;
898  if ( num == 6 ) adcB[ism-1] = xvalmax;
899 
900  }
901 
902  } else {
903 
904  edm::LogWarning("EBLaserTask") << EcalPnDiodeDigiCollection_ << " not available";
905 
906  }
907 
909 
911 
912  int neh = hits->size();
913  LogDebug("EBLaserTask") << "event " << ievt_ << " hits collection size " << neh;
914 
915  for ( EcalUncalibratedRecHitCollection::const_iterator hitItr = hits->begin(); hitItr != hits->end(); ++hitItr ) {
916 
917  EBDetId id = hitItr->id();
918 
919  int ic = id.ic();
920  int ie = (ic-1)/20 + 1;
921  int ip = (ic-1)%20 + 1;
922 
923  int ism = Numbers::iSM( id );
924 
925  float xie = ie - 0.5;
926  float xip = ip - 0.5;
927 
928  if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::LASER_STD ||
929  runType[ism-1] == EcalDCCHeaderBlock::LASER_GAP ) ) continue;
930 
931  if ( rtHalf[ism-1] != Numbers::RtHalf(id) ) continue;
932 
933  MonitorElement* meAmplMap = 0;
934  MonitorElement* meTimeMap = 0;
935  MonitorElement* meAmplPNMap = 0;
936  MonitorElement* meAmplSummaryMap = 0;
937 
938  if ( rtHalf[ism-1] == 0 || rtHalf[ism-1] == 1 ) {
939 
940  if ( waveLength[ism-1] == 0 ) {
941  meAmplMap = meAmplMapL1_[ism-1];
942  meTimeMap = meTimeMapL1_[ism-1];
943  meAmplPNMap = meAmplPNMapL1_[ism-1];
944  meAmplSummaryMap = meAmplSummaryMapL1_;
945  }
946  if ( waveLength[ism-1] == 1 ) {
947  meAmplMap = meAmplMapL2_[ism-1];
948  meTimeMap = meTimeMapL2_[ism-1];
949  meAmplPNMap = meAmplPNMapL2_[ism-1];
950  meAmplSummaryMap = meAmplSummaryMapL2_;
951  }
952  if ( waveLength[ism-1] == 2 ) {
953  meAmplMap = meAmplMapL3_[ism-1];
954  meTimeMap = meTimeMapL3_[ism-1];
955  meAmplPNMap = meAmplPNMapL3_[ism-1];
956  meAmplSummaryMap = meAmplSummaryMapL3_;
957  }
958  if ( waveLength[ism-1] == 3 ) {
959  meAmplMap = meAmplMapL4_[ism-1];
960  meTimeMap = meTimeMapL4_[ism-1];
961  meAmplPNMap = meAmplPNMapL4_[ism-1];
962  meAmplSummaryMap = meAmplSummaryMapL4_;
963  }
964 
965  } else {
966 
967  edm::LogWarning("EBLaserTask") << " RtHalf = " << rtHalf[ism-1];
968 
969  }
970 
971  float xval = hitItr->amplitude();
972  if ( xval <= 0. ) xval = 0.0;
973  float yval = hitItr->jitter() + 5.0;
974  if ( yval <= 0. ) yval = 0.0;
975  float zval = hitItr->pedestal();
976  if ( zval <= 0. ) zval = 0.0;
977 
978  if ( meAmplMap ) meAmplMap->Fill(xie, xip, xval);
979 
980  if ( xval > 12. ) {
981  if ( meTimeMap ) meTimeMap->Fill(xie, xip, yval);
982  }
983 
984  float wval = 0.;
985 
986  if ( rtHalf[ism-1] == 0 ) {
987 
988  if ( adcA[ism-1] != 0. ) wval = xval / adcA[ism-1];
989 
990  } else if ( rtHalf[ism-1] == 1 ) {
991 
992  if ( adcB[ism-1] != 0. ) wval = xval / adcB[ism-1];
993 
994  } else {
995 
996  edm::LogWarning("EBLaserTask") << " RtHalf = " << rtHalf[ism-1];
997 
998  }
999 
1000  if ( meAmplPNMap ) meAmplPNMap->Fill(xie, xip, wval);
1001 
1002  float xjp = id.iphi() - 0.5;
1003  float xje = id.ieta() - 0.5 * id.zside();
1004 
1005  if( meAmplSummaryMap ) meAmplSummaryMap->Fill(xjp, xje, xval);
1006 
1007  }
1008 
1009  } else {
1010 
1011  edm::LogWarning("EBLaserTask") << EcalUncalibratedRecHitCollection_ << " not available";
1012 
1013  }
1014 
1015 }
MonitorElement * mePnAmplMapG16L3_[36]
Definition: EBLaserTask.h:98
#define LogDebug(id)
int adc(sample_type sample)
get the ADC sample (12 bits)
MonitorElement * meTimeMapL4_[36]
Definition: EBLaserTask.h:103
MonitorElement * meShapeMapL3_[36]
Definition: EBLaserTask.h:92
int i
Definition: DBlmapReader.cc:9
MonitorElement * meTimeMapL2_[36]
Definition: EBLaserTask.h:85
MonitorElement * meAmplSummaryMapL4_
Definition: EBLaserTask.h:113
MonitorElement * meAmplSummaryMapL1_
Definition: EBLaserTask.h:110
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
edm::InputTag EcalUncalibratedRecHitCollection_
Definition: EBLaserTask.h:71
MonitorElement * mePnPedMapG16L3_[36]
Definition: EBLaserTask.h:99
MonitorElement * meAmplMapL2_[36]
Definition: EBLaserTask.h:84
edm::InputTag EBDigiCollection_
Definition: EBLaserTask.h:69
std::vector< T >::const_iterator const_iterator
EcalMGPASample sample(int i) const
Definition: EcalDataFrame.h:30
MonitorElement * meAmplPNMapL4_[36]
Definition: EBLaserTask.h:104
#define min(a, b)
Definition: mlp_lapack.h:161
edm::InputTag EcalRawDataCollection_
Definition: EBLaserTask.h:68
MonitorElement * meTimeMapL1_[36]
Definition: EBLaserTask.h:76
MonitorElement * mePnAmplMapG01L2_[36]
Definition: EBLaserTask.h:87
void Fill(long long x)
MonitorElement * mePnPedMapG16L2_[36]
Definition: EBLaserTask.h:90
edm::InputTag EcalPnDiodeDigiCollection_
Definition: EBLaserTask.h:70
MonitorElement * meTimeMapL3_[36]
Definition: EBLaserTask.h:94
const T & max(const T &a, const T &b)
MonitorElement * mePnAmplMapG01L4_[36]
Definition: EBLaserTask.h:105
MonitorElement * meAmplMapL4_[36]
Definition: EBLaserTask.h:102
MonitorElement * mePnPedMapG01L3_[36]
Definition: EBLaserTask.h:97
MonitorElement * mePnAmplMapG16L2_[36]
Definition: EBLaserTask.h:89
MonitorElement * meAmplSummaryMapL2_
Definition: EBLaserTask.h:111
MonitorElement * meShapeMapL4_[36]
Definition: EBLaserTask.h:101
MonitorElement * meAmplPNMapL1_[36]
Definition: EBLaserTask.h:77
void setup(void)
Setup.
Definition: EBLaserTask.cc:198
MonitorElement * mePnPedMapG01L1_[36]
Definition: EBLaserTask.h:79
MonitorElement * mePnAmplMapG16L4_[36]
Definition: EBLaserTask.h:107
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
int ic() const
get ECAL/crystal number inside SM
Definition: EBDetId.cc:46
MonitorElement * meAmplPNMapL2_[36]
Definition: EBLaserTask.h:86
MonitorElement * meAmplMapL1_[36]
Definition: EBLaserTask.h:75
long long int num
Definition: procUtils.cc:71
MonitorElement * meShapeMapL2_[36]
Definition: EBLaserTask.h:83
MonitorElement * meShapeMapL1_[36]
Definition: EBLaserTask.h:74
static unsigned iSM(const unsigned ism, const EcalSubdetector subdet)
Definition: Numbers.cc:246
MonitorElement * mePnAmplMapG01L3_[36]
Definition: EBLaserTask.h:96
static unsigned RtHalf(const EBDetId &id)
Definition: Numbers.cc:608
MonitorElement * mePnAmplMapG16L1_[36]
Definition: EBLaserTask.h:80
static EcalSubdetector subDet(const EBDetId &id)
Definition: Numbers.cc:145
MonitorElement * mePnAmplMapG01L1_[36]
Definition: EBLaserTask.h:78
MonitorElement * mePnPedMapG01L4_[36]
Definition: EBLaserTask.h:106
MonitorElement * mePnPedMapG16L1_[36]
Definition: EBLaserTask.h:81
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
MonitorElement * meAmplMapL3_[36]
Definition: EBLaserTask.h:93
MonitorElement * meAmplPNMapL3_[36]
Definition: EBLaserTask.h:95
MonitorElement * mePnPedMapG16L4_[36]
Definition: EBLaserTask.h:108
MonitorElement * mePnPedMapG01L2_[36]
Definition: EBLaserTask.h:88
int adc() const
get the ADC sample (12 bits)
MonitorElement * meAmplSummaryMapL3_
Definition: EBLaserTask.h:112
void EBLaserTask::beginJob ( void  )
protectedvirtual

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 104 of file EBLaserTask.cc.

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

104  {
105 
106  ievt_ = 0;
107 
108  if ( dqmStore_ ) {
109  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask");
110  dqmStore_->rmdir(prefixME_ + "/EBLaserTask");
111  }
112 
113 }
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2535
DQMStore * dqmStore_
Definition: EBLaserTask.h:60
std::string prefixME_
Definition: EBLaserTask.h:62
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
void EBLaserTask::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 115 of file EBLaserTask.cc.

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

115  {
116 
117  Numbers::initGeometry(c, false);
118 
119  if ( ! mergeRuns_ ) this->reset();
120 
121 }
void reset(void)
Reset.
Definition: EBLaserTask.cc:127
static void initGeometry(const edm::EventSetup &setup, bool verbose=false)
Definition: Numbers.cc:50
bool mergeRuns_
Definition: EBLaserTask.h:66
void EBLaserTask::cleanup ( void  )
protected

Cleanup.

Definition at line 498 of file EBLaserTask.cc.

References dqmStore_, spr::find(), MonitorElement::getName(), i, init_, laserWavelengths_, meAmplMapL1_, meAmplMapL2_, meAmplMapL3_, meAmplMapL4_, meAmplPNMapL1_, meAmplPNMapL2_, meAmplPNMapL3_, meAmplPNMapL4_, meAmplSummaryMapL1_, meAmplSummaryMapL2_, meAmplSummaryMapL3_, meAmplSummaryMapL4_, mePnAmplMapG01L1_, mePnAmplMapG01L2_, mePnAmplMapG01L3_, mePnAmplMapG01L4_, mePnAmplMapG16L1_, mePnAmplMapG16L2_, mePnAmplMapG16L3_, mePnAmplMapG16L4_, mePnPedMapG01L1_, mePnPedMapG01L2_, mePnPedMapG01L3_, mePnPedMapG01L4_, mePnPedMapG16L1_, mePnPedMapG16L2_, mePnPedMapG16L3_, mePnPedMapG16L4_, meShapeMapL1_, meShapeMapL2_, meShapeMapL3_, meShapeMapL4_, meTimeMapL1_, meTimeMapL2_, meTimeMapL3_, meTimeMapL4_, prefixME_, DQMStore::removeElement(), and DQMStore::setCurrentFolder().

Referenced by endJob().

498  {
499 
500  if ( ! init_ ) return;
501 
502  if ( dqmStore_ ) {
503  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask");
504 
505  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
506  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser1");
507  for (int i = 0; i < 36; i++) {
508  if ( meShapeMapL1_[i] ) dqmStore_->removeElement( meShapeMapL1_[i]->getName() );
509  meShapeMapL1_[i] = 0;
510  if ( meAmplMapL1_[i] ) dqmStore_->removeElement( meAmplMapL1_[i]->getName() );
511  meAmplMapL1_[i] = 0;
512  if ( meTimeMapL1_[i] ) dqmStore_->removeElement( meTimeMapL1_[i]->getName() );
513  meTimeMapL1_[i] = 0;
514  if ( meAmplPNMapL1_[i] ) dqmStore_->removeElement( meAmplPNMapL1_[i]->getName() );
515  meAmplPNMapL1_[i] = 0;
516  }
519  }
520 
521  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
522  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser2");
523  for (int i = 0; i < 36; i++) {
524  if ( meShapeMapL2_[i] ) dqmStore_->removeElement( meShapeMapL2_[i]->getName() );
525  meShapeMapL2_[i] = 0;
526  if ( meAmplMapL2_[i] ) dqmStore_->removeElement( meAmplMapL2_[i]->getName() );
527  meAmplMapL2_[i] = 0;
528  if ( meTimeMapL2_[i] ) dqmStore_->removeElement( meTimeMapL2_[i]->getName() );
529  meTimeMapL2_[i] = 0;
530  if ( meAmplPNMapL2_[i] ) dqmStore_->removeElement( meAmplPNMapL2_[i]->getName() );
531  meAmplPNMapL2_[i] = 0;
532  }
535  }
536 
537  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
538  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser3");
539  for (int i = 0; i < 36; i++) {
540  if ( meShapeMapL3_[i] ) dqmStore_->removeElement( meShapeMapL3_[i]->getName() );
541  meShapeMapL3_[i] = 0;
542  if ( meAmplMapL3_[i] ) dqmStore_->removeElement( meAmplMapL3_[i]->getName() );
543  meAmplMapL3_[i] = 0;
544  if ( meTimeMapL3_[i] ) dqmStore_->removeElement( meTimeMapL3_[i]->getName() );
545  meTimeMapL3_[i] = 0;
546  if ( meAmplPNMapL3_[i] ) dqmStore_->removeElement( meAmplPNMapL3_[i]->getName() );
547  meAmplPNMapL3_[i] = 0;
548  }
551  }
552 
553  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
554  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser4");
555  for (int i = 0; i < 36; i++) {
556  if ( meShapeMapL4_[i] ) dqmStore_->removeElement( meShapeMapL4_[i]->getName() );
557  meShapeMapL4_[i] = 0;
558  if ( meAmplMapL4_[i] ) dqmStore_->removeElement( meAmplMapL4_[i]->getName() );
559  meAmplMapL4_[i] = 0;
560  if ( meTimeMapL4_[i] ) dqmStore_->removeElement( meTimeMapL4_[i]->getName() );
561  meTimeMapL4_[i] = 0;
562  if ( meAmplPNMapL4_[i] ) dqmStore_->removeElement( meAmplPNMapL4_[i]->getName() );
563  meAmplPNMapL4_[i] = 0;
564  }
567  }
568 
569  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
570  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser1/PN");
571 
572  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser1/PN/Gain01");
573  for (int i = 0; i < 36; i++) {
574  if ( mePnAmplMapG01L1_[i] ) dqmStore_->removeElement( mePnAmplMapG01L1_[i]->getName() );
575  mePnAmplMapG01L1_[i] = 0;
576  if ( mePnPedMapG01L1_[i] ) dqmStore_->removeElement( mePnPedMapG01L1_[i]->getName() );
577  mePnPedMapG01L1_[i] = 0;
578  }
579 
580  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser1/PN/Gain16");
581  for (int i = 0; i < 36; i++) {
582  if ( mePnAmplMapG16L1_[i] ) dqmStore_->removeElement( mePnAmplMapG16L1_[i]->getName() );
583  mePnAmplMapG16L1_[i] = 0;
584  if ( mePnPedMapG16L1_[i] ) dqmStore_->removeElement( mePnPedMapG16L1_[i]->getName() );
585  mePnPedMapG16L1_[i] = 0;
586  }
587  }
588 
589  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
590  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser2/PN");
591 
592  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser2/PN/Gain01");
593  for (int i = 0; i < 36; i++) {
594  if ( mePnAmplMapG01L2_[i] ) dqmStore_->removeElement( mePnAmplMapG01L2_[i]->getName() );
595  mePnAmplMapG01L2_[i] = 0;
596  if ( mePnPedMapG01L2_[i] ) dqmStore_->removeElement( mePnPedMapG01L2_[i]->getName() );
597  mePnPedMapG01L2_[i] = 0;
598  }
599 
600  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser2/PN/Gain16");
601  for (int i = 0; i < 36; i++) {
602  if ( mePnAmplMapG16L2_[i] ) dqmStore_->removeElement( mePnAmplMapG16L2_[i]->getName() );
603  mePnAmplMapG16L2_[i] = 0;
604  if ( mePnPedMapG16L2_[i] ) dqmStore_->removeElement( mePnPedMapG16L2_[i]->getName() );
605  mePnPedMapG16L2_[i] = 0;
606  }
607  }
608 
609  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
610  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser3/PN");
611 
612  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser3/PN/Gain01");
613  for (int i = 0; i < 36; i++) {
614  if ( mePnAmplMapG01L3_[i] ) dqmStore_->removeElement( mePnAmplMapG01L3_[i]->getName() );
615  mePnAmplMapG01L3_[i] = 0;
616  if ( mePnPedMapG01L3_[i] ) dqmStore_->removeElement( mePnPedMapG01L3_[i]->getName() );
617  mePnPedMapG01L3_[i] = 0;
618  }
619 
620  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser3/PN/Gain16");
621  for (int i = 0; i < 36; i++) {
622  if ( mePnAmplMapG16L3_[i] ) dqmStore_->removeElement( mePnAmplMapG16L3_[i]->getName() );
623  mePnAmplMapG16L3_[i] = 0;
624  if ( mePnPedMapG16L3_[i] ) dqmStore_->removeElement( mePnPedMapG16L3_[i]->getName() );
625  mePnPedMapG16L3_[i] = 0;
626  }
627  }
628 
629  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
630  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser4/PN");
631 
632  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser4/PN/Gain01");
633  for (int i = 0; i < 36; i++) {
634  if ( mePnAmplMapG01L4_[i] ) dqmStore_->removeElement( mePnAmplMapG01L4_[i]->getName() );
635  mePnAmplMapG01L4_[i] = 0;
636  if ( mePnPedMapG01L4_[i] ) dqmStore_->removeElement( mePnPedMapG01L4_[i]->getName() );
637  mePnPedMapG01L4_[i] = 0;
638  }
639 
640  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser4/PN/Gain16");
641  for (int i = 0; i < 36; i++) {
642  if ( mePnAmplMapG16L4_[i] ) dqmStore_->removeElement( mePnAmplMapG16L4_[i]->getName() );
643  mePnAmplMapG16L4_[i] = 0;
644  if ( mePnPedMapG16L4_[i] ) dqmStore_->removeElement( mePnPedMapG16L4_[i]->getName() );
645  mePnPedMapG16L4_[i] = 0;
646  }
647 
648  }
649 
650  }
651 
652  init_ = false;
653 
654 }
MonitorElement * mePnAmplMapG16L3_[36]
Definition: EBLaserTask.h:98
MonitorElement * meTimeMapL4_[36]
Definition: EBLaserTask.h:103
MonitorElement * meShapeMapL3_[36]
Definition: EBLaserTask.h:92
const std::string & getName(void) const
get name of ME
int i
Definition: DBlmapReader.cc:9
MonitorElement * meTimeMapL2_[36]
Definition: EBLaserTask.h:85
MonitorElement * meAmplSummaryMapL4_
Definition: EBLaserTask.h:113
MonitorElement * meAmplSummaryMapL1_
Definition: EBLaserTask.h:110
MonitorElement * mePnPedMapG16L3_[36]
Definition: EBLaserTask.h:99
MonitorElement * meAmplMapL2_[36]
Definition: EBLaserTask.h:84
std::vector< int > laserWavelengths_
Definition: EBLaserTask.h:72
MonitorElement * meAmplPNMapL4_[36]
Definition: EBLaserTask.h:104
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
MonitorElement * meTimeMapL1_[36]
Definition: EBLaserTask.h:76
MonitorElement * mePnAmplMapG01L2_[36]
Definition: EBLaserTask.h:87
MonitorElement * mePnPedMapG16L2_[36]
Definition: EBLaserTask.h:90
MonitorElement * meTimeMapL3_[36]
Definition: EBLaserTask.h:94
MonitorElement * mePnAmplMapG01L4_[36]
Definition: EBLaserTask.h:105
MonitorElement * meAmplMapL4_[36]
Definition: EBLaserTask.h:102
void removeElement(const std::string &name)
Definition: DQMStore.cc:2577
MonitorElement * mePnPedMapG01L3_[36]
Definition: EBLaserTask.h:97
MonitorElement * mePnAmplMapG16L2_[36]
Definition: EBLaserTask.h:89
MonitorElement * meAmplSummaryMapL2_
Definition: EBLaserTask.h:111
MonitorElement * meShapeMapL4_[36]
Definition: EBLaserTask.h:101
DQMStore * dqmStore_
Definition: EBLaserTask.h:60
MonitorElement * meAmplPNMapL1_[36]
Definition: EBLaserTask.h:77
MonitorElement * mePnPedMapG01L1_[36]
Definition: EBLaserTask.h:79
MonitorElement * mePnAmplMapG16L4_[36]
Definition: EBLaserTask.h:107
MonitorElement * meAmplPNMapL2_[36]
Definition: EBLaserTask.h:86
MonitorElement * meAmplMapL1_[36]
Definition: EBLaserTask.h:75
MonitorElement * meShapeMapL2_[36]
Definition: EBLaserTask.h:83
MonitorElement * meShapeMapL1_[36]
Definition: EBLaserTask.h:74
MonitorElement * mePnAmplMapG01L3_[36]
Definition: EBLaserTask.h:96
MonitorElement * mePnAmplMapG16L1_[36]
Definition: EBLaserTask.h:80
MonitorElement * mePnAmplMapG01L1_[36]
Definition: EBLaserTask.h:78
MonitorElement * mePnPedMapG01L4_[36]
Definition: EBLaserTask.h:106
MonitorElement * mePnPedMapG16L1_[36]
Definition: EBLaserTask.h:81
std::string prefixME_
Definition: EBLaserTask.h:62
MonitorElement * meAmplMapL3_[36]
Definition: EBLaserTask.h:93
MonitorElement * meAmplPNMapL3_[36]
Definition: EBLaserTask.h:95
MonitorElement * mePnPedMapG16L4_[36]
Definition: EBLaserTask.h:108
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
MonitorElement * mePnPedMapG01L2_[36]
Definition: EBLaserTask.h:88
MonitorElement * meAmplSummaryMapL3_
Definition: EBLaserTask.h:112
void EBLaserTask::endJob ( void  )
protectedvirtual

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 656 of file EBLaserTask.cc.

References cleanup(), enableCleanup_, and ievt_.

656  {
657 
658  edm::LogInfo("EBLaserTask") << "analyzed " << ievt_ << " events";
659 
660  if ( enableCleanup_ ) this->cleanup();
661 
662 }
void cleanup(void)
Cleanup.
Definition: EBLaserTask.cc:498
bool enableCleanup_
Definition: EBLaserTask.h:64
void EBLaserTask::endRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 123 of file EBLaserTask.cc.

123  {
124 
125 }
void EBLaserTask::reset ( void  )
protected

Reset.

Definition at line 127 of file EBLaserTask.cc.

References spr::find(), i, laserWavelengths_, meAmplMapL1_, meAmplMapL2_, meAmplMapL3_, meAmplMapL4_, meAmplPNMapL1_, meAmplPNMapL2_, meAmplPNMapL3_, meAmplPNMapL4_, meAmplSummaryMapL1_, meAmplSummaryMapL2_, meAmplSummaryMapL3_, meAmplSummaryMapL4_, mePnAmplMapG01L1_, mePnAmplMapG01L2_, mePnAmplMapG01L3_, mePnAmplMapG01L4_, mePnAmplMapG16L1_, mePnAmplMapG16L2_, mePnAmplMapG16L3_, mePnAmplMapG16L4_, mePnPedMapG01L1_, mePnPedMapG01L2_, mePnPedMapG01L3_, mePnPedMapG01L4_, mePnPedMapG16L1_, mePnPedMapG16L2_, mePnPedMapG16L3_, mePnPedMapG16L4_, meShapeMapL1_, meShapeMapL2_, meShapeMapL3_, meShapeMapL4_, meTimeMapL1_, meTimeMapL2_, meTimeMapL3_, meTimeMapL4_, and MonitorElement::Reset().

Referenced by beginRun().

127  {
128 
129  for (int i = 0; i < 36; i++) {
130  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
131  if ( meShapeMapL1_[i] ) meShapeMapL1_[i]->Reset();
132  if ( meAmplMapL1_[i] ) meAmplMapL1_[i]->Reset();
133  if ( meTimeMapL1_[i] ) meTimeMapL1_[i]->Reset();
134  if ( meAmplPNMapL1_[i] ) meAmplPNMapL1_[i]->Reset();
135  }
136 
137  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
138  if ( meShapeMapL2_[i] ) meShapeMapL2_[i]->Reset();
139  if ( meAmplMapL2_[i] ) meAmplMapL2_[i]->Reset();
140  if ( meTimeMapL2_[i] ) meTimeMapL2_[i]->Reset();
141  if ( meAmplPNMapL2_[i] ) meAmplPNMapL2_[i]->Reset();
142  }
143 
144  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
145  if ( meShapeMapL3_[i] ) meShapeMapL3_[i]->Reset();
146  if ( meAmplMapL3_[i] ) meAmplMapL3_[i]->Reset();
147  if ( meTimeMapL3_[i] ) meTimeMapL3_[i]->Reset();
148  if ( meAmplPNMapL3_[i] ) meAmplPNMapL3_[i]->Reset();
149  }
150 
151  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
152  if ( meShapeMapL4_[i] ) meShapeMapL4_[i]->Reset();
153  if ( meAmplMapL4_[i] ) meAmplMapL4_[i]->Reset();
154  if ( meTimeMapL4_[i] ) meTimeMapL4_[i]->Reset();
155  if ( meAmplPNMapL4_[i] ) meAmplPNMapL4_[i]->Reset();
156  }
157 
158  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
161 
164  }
165 
166  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
169 
172  }
173 
174  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
177 
180  }
181 
182  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
185 
188  }
189  }
190 
195 
196 }
MonitorElement * mePnAmplMapG16L3_[36]
Definition: EBLaserTask.h:98
MonitorElement * meTimeMapL4_[36]
Definition: EBLaserTask.h:103
MonitorElement * meShapeMapL3_[36]
Definition: EBLaserTask.h:92
int i
Definition: DBlmapReader.cc:9
MonitorElement * meTimeMapL2_[36]
Definition: EBLaserTask.h:85
MonitorElement * meAmplSummaryMapL4_
Definition: EBLaserTask.h:113
MonitorElement * meAmplSummaryMapL1_
Definition: EBLaserTask.h:110
MonitorElement * mePnPedMapG16L3_[36]
Definition: EBLaserTask.h:99
MonitorElement * meAmplMapL2_[36]
Definition: EBLaserTask.h:84
std::vector< int > laserWavelengths_
Definition: EBLaserTask.h:72
MonitorElement * meAmplPNMapL4_[36]
Definition: EBLaserTask.h:104
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
MonitorElement * meTimeMapL1_[36]
Definition: EBLaserTask.h:76
MonitorElement * mePnAmplMapG01L2_[36]
Definition: EBLaserTask.h:87
MonitorElement * mePnPedMapG16L2_[36]
Definition: EBLaserTask.h:90
MonitorElement * meTimeMapL3_[36]
Definition: EBLaserTask.h:94
MonitorElement * mePnAmplMapG01L4_[36]
Definition: EBLaserTask.h:105
MonitorElement * meAmplMapL4_[36]
Definition: EBLaserTask.h:102
MonitorElement * mePnPedMapG01L3_[36]
Definition: EBLaserTask.h:97
MonitorElement * mePnAmplMapG16L2_[36]
Definition: EBLaserTask.h:89
MonitorElement * meAmplSummaryMapL2_
Definition: EBLaserTask.h:111
MonitorElement * meShapeMapL4_[36]
Definition: EBLaserTask.h:101
MonitorElement * meAmplPNMapL1_[36]
Definition: EBLaserTask.h:77
MonitorElement * mePnPedMapG01L1_[36]
Definition: EBLaserTask.h:79
MonitorElement * mePnAmplMapG16L4_[36]
Definition: EBLaserTask.h:107
MonitorElement * meAmplPNMapL2_[36]
Definition: EBLaserTask.h:86
MonitorElement * meAmplMapL1_[36]
Definition: EBLaserTask.h:75
MonitorElement * meShapeMapL2_[36]
Definition: EBLaserTask.h:83
MonitorElement * meShapeMapL1_[36]
Definition: EBLaserTask.h:74
MonitorElement * mePnAmplMapG01L3_[36]
Definition: EBLaserTask.h:96
MonitorElement * mePnAmplMapG16L1_[36]
Definition: EBLaserTask.h:80
MonitorElement * mePnAmplMapG01L1_[36]
Definition: EBLaserTask.h:78
MonitorElement * mePnPedMapG01L4_[36]
Definition: EBLaserTask.h:106
MonitorElement * mePnPedMapG16L1_[36]
Definition: EBLaserTask.h:81
MonitorElement * meAmplMapL3_[36]
Definition: EBLaserTask.h:93
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * meAmplPNMapL3_[36]
Definition: EBLaserTask.h:95
MonitorElement * mePnPedMapG16L4_[36]
Definition: EBLaserTask.h:108
MonitorElement * mePnPedMapG01L2_[36]
Definition: EBLaserTask.h:88
MonitorElement * meAmplSummaryMapL3_
Definition: EBLaserTask.h:112
void EBLaserTask::setup ( void  )
protected

Setup.

Definition at line 198 of file EBLaserTask.cc.

References DQMStore::bookProfile(), DQMStore::bookProfile2D(), dqmStore_, spr::find(), i, init_, laserWavelengths_, meAmplMapL1_, meAmplMapL2_, meAmplMapL3_, meAmplMapL4_, meAmplPNMapL1_, meAmplPNMapL2_, meAmplPNMapL3_, meAmplPNMapL4_, meAmplSummaryMapL1_, meAmplSummaryMapL2_, meAmplSummaryMapL3_, meAmplSummaryMapL4_, mePnAmplMapG01L1_, mePnAmplMapG01L2_, mePnAmplMapG01L3_, mePnAmplMapG01L4_, mePnAmplMapG16L1_, mePnAmplMapG16L2_, mePnAmplMapG16L3_, mePnAmplMapG16L4_, mePnPedMapG01L1_, mePnPedMapG01L2_, mePnPedMapG01L3_, mePnPedMapG01L4_, mePnPedMapG16L1_, mePnPedMapG16L2_, mePnPedMapG16L3_, mePnPedMapG16L4_, meShapeMapL1_, meShapeMapL2_, meShapeMapL3_, meShapeMapL4_, meTimeMapL1_, meTimeMapL2_, meTimeMapL3_, meTimeMapL4_, mergeVDriftHistosByStation::name, prefixME_, Numbers::sEB(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and DQMStore::tag().

Referenced by analyze().

198  {
199 
200  init_ = true;
201 
203  std::stringstream LaserN, LN;
204 
205  if ( dqmStore_ ) {
206  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask");
207 
208  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
209 
210  LaserN.str("");
211  LaserN << "Laser" << 1;
212  LN.str("");
213  LN << "L" << 1;
214 
215  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str());
216  for (int i = 0; i < 36; i++) {
217  name = "EBLT shape " + Numbers::sEB(i+1) + " " + LN.str();
218  meShapeMapL1_[i] = dqmStore_->bookProfile2D(name, name, 1700, 0., 1700., 10, 0., 10., 4096, 0., 4096., "s");
219  meShapeMapL1_[i]->setAxisTitle("channel", 1);
220  meShapeMapL1_[i]->setAxisTitle("sample", 2);
221  meShapeMapL1_[i]->setAxisTitle("amplitude", 3);
222  dqmStore_->tag(meShapeMapL1_[i], i+1);
223  name = "EBLT amplitude " + Numbers::sEB(i+1) + " " + LN.str();
224  meAmplMapL1_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
225  meAmplMapL1_[i]->setAxisTitle("ieta", 1);
226  meAmplMapL1_[i]->setAxisTitle("iphi", 2);
227  dqmStore_->tag(meAmplMapL1_[i], i+1);
228  name = "EBLT timing " + Numbers::sEB(i+1) + " " + LN.str();
229  meTimeMapL1_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 250, 0., 10., "s");
230  meTimeMapL1_[i]->setAxisTitle("ieta", 1);
231  meTimeMapL1_[i]->setAxisTitle("iphi", 2);
232  dqmStore_->tag(meTimeMapL1_[i], i+1);
233  name = "EBLT amplitude over PN " + Numbers::sEB(i+1) + " " + LN.str();
234  meAmplPNMapL1_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
235  meAmplPNMapL1_[i]->setAxisTitle("ieta", 1);
236  meAmplPNMapL1_[i]->setAxisTitle("iphi", 2);
237  dqmStore_->tag(meAmplPNMapL1_[i], i+1);
238  }
239 
240  name = "EBLT amplitude map " + LN.str();
241  meAmplSummaryMapL1_ = dqmStore_->bookProfile2D(name, name, 72, 0., 360., 34, -85., 85., 0., 4096.);
242  meAmplSummaryMapL1_->setAxisTitle("jphi", 1);
243  meAmplSummaryMapL1_->setAxisTitle("jeta", 2);
244 
245  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN");
246 
247  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain01");
248  for (int i = 0; i < 36; i++) {
249  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G01 " + LN.str();
250  mePnAmplMapG01L1_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
251  mePnAmplMapG01L1_[i]->setAxisTitle("channel", 1);
252  mePnAmplMapG01L1_[i]->setAxisTitle("amplitude", 2);
253  dqmStore_->tag(mePnAmplMapG01L1_[i], i+1);
254 
255  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G01 " + LN.str();
256  mePnPedMapG01L1_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
257  mePnPedMapG01L1_[i]->setAxisTitle("channel", 1);
258  mePnPedMapG01L1_[i]->setAxisTitle("pedestal", 2);
259  dqmStore_->tag(mePnPedMapG01L1_[i], i+1);
260  }
261 
262  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain16");
263  for (int i = 0; i < 36; i++) {
264  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G16 " + LN.str(),
265  mePnAmplMapG16L1_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
266  mePnAmplMapG16L1_[i]->setAxisTitle("channel", 1);
267  mePnAmplMapG16L1_[i]->setAxisTitle("amplitude", 2);
268  dqmStore_->tag(mePnAmplMapG16L1_[i], i+1);
269 
270  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G16 " + LN.str();
271  mePnPedMapG16L1_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
272  mePnPedMapG16L1_[i]->setAxisTitle("channel", 1);
273  mePnPedMapG16L1_[i]->setAxisTitle("pedestal", 2);
274  dqmStore_->tag(mePnPedMapG16L1_[i], i+1);
275  }
276 
277 
278  }
279 
280  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
281 
282  LaserN.str("");
283  LaserN << "Laser" << 2;
284  LN.str("");
285  LN << "L" << 2;
286 
287  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str());
288  for (int i = 0; i < 36; i++) {
289  name = "EBLT shape " + Numbers::sEB(i+1) + " " + LN.str();
290  meShapeMapL2_[i] = dqmStore_->bookProfile2D(name, name, 1700, 0., 1700., 10, 0., 10., 4096, 0., 4096., "s");
291  meShapeMapL2_[i]->setAxisTitle("channel", 1);
292  meShapeMapL2_[i]->setAxisTitle("sample", 2);
293  meShapeMapL2_[i]->setAxisTitle("amplitude", 3);
294  dqmStore_->tag(meShapeMapL2_[i], i+1);
295  name = "EBLT amplitude " + Numbers::sEB(i+1) + " " + LN.str();
296  meAmplMapL2_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
297  meAmplMapL2_[i]->setAxisTitle("ieta", 1);
298  meAmplMapL2_[i]->setAxisTitle("iphi", 2);
299  dqmStore_->tag(meAmplMapL2_[i], i+1);
300  name = "EBLT timing " + Numbers::sEB(i+1) + " " + LN.str();
301  meTimeMapL2_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 250, 0., 10., "s");
302  meTimeMapL2_[i]->setAxisTitle("ieta", 1);
303  meTimeMapL2_[i]->setAxisTitle("iphi", 2);
304  dqmStore_->tag(meTimeMapL2_[i], i+1);
305  name = "EBLT amplitude over PN " + Numbers::sEB(i+1) + " " + LN.str();
306  meAmplPNMapL2_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
307  meAmplPNMapL2_[i]->setAxisTitle("ieta", 1);
308  meAmplPNMapL2_[i]->setAxisTitle("iphi", 2);
309  dqmStore_->tag(meAmplPNMapL2_[i], i+1);
310  }
311 
312  name = "EBLT amplitude map " + LN.str();
313  meAmplSummaryMapL2_ = dqmStore_->bookProfile2D(name, name, 72, 0., 360., 34, -85., 85., 0., 4096.);
314  meAmplSummaryMapL2_->setAxisTitle("jphi", 1);
315  meAmplSummaryMapL2_->setAxisTitle("jeta", 2);
316 
317  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN");
318 
319  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain01");
320  for (int i = 0; i < 36; i++) {
321  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G01 " + LN.str();
322  mePnAmplMapG01L2_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
323  mePnAmplMapG01L2_[i]->setAxisTitle("channel", 1);
324  mePnAmplMapG01L2_[i]->setAxisTitle("amplitude", 2);
325  dqmStore_->tag(mePnAmplMapG01L2_[i], i+1);
326 
327  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G01 " + LN.str();
328  mePnPedMapG01L2_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
329  mePnPedMapG01L2_[i]->setAxisTitle("channel", 1);
330  mePnPedMapG01L2_[i]->setAxisTitle("pedestal", 2);
331  dqmStore_->tag(mePnPedMapG01L2_[i], i+1);
332  }
333 
334  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain16");
335  for (int i = 0; i < 36; i++) {
336  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G16 " + LN.str(),
337  mePnAmplMapG16L2_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
338  mePnAmplMapG16L2_[i]->setAxisTitle("channel", 1);
339  mePnAmplMapG16L2_[i]->setAxisTitle("amplitude", 2);
340  dqmStore_->tag(mePnAmplMapG16L2_[i], i+1);
341 
342  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G16 " + LN.str();
343  mePnPedMapG16L2_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
344  mePnPedMapG16L2_[i]->setAxisTitle("channel", 1);
345  mePnPedMapG16L2_[i]->setAxisTitle("pedestal", 2);
346  dqmStore_->tag(mePnPedMapG16L2_[i], i+1);
347  }
348 
349 
350  }
351 
352  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
353 
354  LaserN.str("");
355  LaserN << "Laser" << 3;
356  LN.str("");
357  LN << "L" << 3;
358 
359  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str());
360  for (int i = 0; i < 36; i++) {
361  name = "EBLT shape " + Numbers::sEB(i+1) + " " + LN.str();
362  meShapeMapL3_[i] = dqmStore_->bookProfile2D(name, name, 1700, 0., 1700., 10, 0., 10., 4096, 0., 4096., "s");
363  meShapeMapL3_[i]->setAxisTitle("channel", 1);
364  meShapeMapL3_[i]->setAxisTitle("sample", 2);
365  meShapeMapL3_[i]->setAxisTitle("amplitude", 3);
366  dqmStore_->tag(meShapeMapL3_[i], i+1);
367  name = "EBLT amplitude " + Numbers::sEB(i+1) + " " + LN.str();
368  meAmplMapL3_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
369  meAmplMapL3_[i]->setAxisTitle("ieta", 1);
370  meAmplMapL3_[i]->setAxisTitle("iphi", 2);
371  dqmStore_->tag(meAmplMapL3_[i], i+1);
372  name = "EBLT timing " + Numbers::sEB(i+1) + " " + LN.str();
373  meTimeMapL3_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 250, 0., 10., "s");
374  meTimeMapL3_[i]->setAxisTitle("ieta", 1);
375  meTimeMapL3_[i]->setAxisTitle("iphi", 2);
376  dqmStore_->tag(meTimeMapL3_[i], i+1);
377  name = "EBLT amplitude over PN " + Numbers::sEB(i+1) + " " + LN.str();
378  meAmplPNMapL3_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
379  meAmplPNMapL3_[i]->setAxisTitle("ieta", 1);
380  meAmplPNMapL3_[i]->setAxisTitle("iphi", 2);
381  dqmStore_->tag(meAmplPNMapL3_[i], i+1);
382  }
383 
384  name = "EBLT amplitude map " + LN.str();
385  meAmplSummaryMapL3_ = dqmStore_->bookProfile2D(name, name, 72, 0., 360., 34, -85., 85., 0., 4096.);
386  meAmplSummaryMapL3_->setAxisTitle("jphi", 1);
387  meAmplSummaryMapL3_->setAxisTitle("jeta", 2);
388 
389  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN");
390 
391  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain01");
392  for (int i = 0; i < 36; i++) {
393  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G01 " + LN.str();
394  mePnAmplMapG01L3_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
395  mePnAmplMapG01L3_[i]->setAxisTitle("channel", 1);
396  mePnAmplMapG01L3_[i]->setAxisTitle("amplitude", 2);
397  dqmStore_->tag(mePnAmplMapG01L3_[i], i+1);
398 
399  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G01 " + LN.str();
400  mePnPedMapG01L3_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
401  mePnPedMapG01L3_[i]->setAxisTitle("channel", 1);
402  mePnPedMapG01L3_[i]->setAxisTitle("pedestal", 2);
403  dqmStore_->tag(mePnPedMapG01L3_[i], i+1);
404  }
405 
406  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain16");
407  for (int i = 0; i < 36; i++) {
408  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G16 " + LN.str(),
409  mePnAmplMapG16L3_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
410  mePnAmplMapG16L3_[i]->setAxisTitle("channel", 1);
411  mePnAmplMapG16L3_[i]->setAxisTitle("amplitude", 2);
412  dqmStore_->tag(mePnAmplMapG16L3_[i], i+1);
413 
414  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G16 " + LN.str();
415  mePnPedMapG16L3_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
416  mePnPedMapG16L3_[i]->setAxisTitle("channel", 1);
417  mePnPedMapG16L3_[i]->setAxisTitle("pedestal", 2);
418  dqmStore_->tag(mePnPedMapG16L3_[i], i+1);
419  }
420 
421  }
422 
423  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
424 
425  LaserN.str("");
426  LaserN << "Laser" << 4;
427  LN.str("");
428  LN << "L" << 4;
429 
430  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str());
431  for (int i = 0; i < 36; i++) {
432  name = "EBLT shape " + Numbers::sEB(i+1) + " " + LN.str();
433  meShapeMapL4_[i] = dqmStore_->bookProfile2D(name, name, 1700, 0., 1700., 10, 0., 10., 4096, 0., 4096., "s");
434  meShapeMapL4_[i]->setAxisTitle("channel", 1);
435  meShapeMapL4_[i]->setAxisTitle("sample", 2);
436  meShapeMapL4_[i]->setAxisTitle("amplitude", 3);
437  dqmStore_->tag(meShapeMapL4_[i], i+1);
438  name = "EBLT amplitude " + Numbers::sEB(i+1) + " " + LN.str();
439  meAmplMapL4_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
440  meAmplMapL4_[i]->setAxisTitle("ieta", 1);
441  meAmplMapL4_[i]->setAxisTitle("iphi", 2);
442  dqmStore_->tag(meAmplMapL4_[i], i+1);
443  name = "EBLT timing " + Numbers::sEB(i+1) + " " + LN.str();
444  meTimeMapL4_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 250, 0., 10., "s");
445  meTimeMapL4_[i]->setAxisTitle("ieta", 1);
446  meTimeMapL4_[i]->setAxisTitle("iphi", 2);
447  dqmStore_->tag(meTimeMapL4_[i], i+1);
448  name = "EBLT amplitude over PN " + Numbers::sEB(i+1) + " " + LN.str();
449  meAmplPNMapL4_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
450  meAmplPNMapL4_[i]->setAxisTitle("ieta", 1);
451  meAmplPNMapL4_[i]->setAxisTitle("iphi", 2);
452  dqmStore_->tag(meAmplPNMapL4_[i], i+1);
453  }
454 
455  name = "EBLT amplitude map " + LN.str();
456  meAmplSummaryMapL4_ = dqmStore_->bookProfile2D(name, name, 72, 0., 360., 34, -85., 85., 0., 4096.);
457  meAmplSummaryMapL4_->setAxisTitle("jphi", 1);
458  meAmplSummaryMapL4_->setAxisTitle("jeta", 2);
459 
460  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN");
461 
462  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain01");
463  for (int i = 0; i < 36; i++) {
464  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G01 " + LN.str();
465  mePnAmplMapG01L4_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
466  mePnAmplMapG01L4_[i]->setAxisTitle("channel", 1);
467  mePnAmplMapG01L4_[i]->setAxisTitle("amplitude", 2);
468  dqmStore_->tag(mePnAmplMapG01L4_[i], i+1);
469 
470  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G01 " + LN.str();
471  mePnPedMapG01L4_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
472  mePnPedMapG01L4_[i]->setAxisTitle("channel", 1);
473  mePnPedMapG01L4_[i]->setAxisTitle("pedestal", 2);
474  dqmStore_->tag(mePnPedMapG01L4_[i], i+1);
475  }
476 
477  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain16");
478  for (int i = 0; i < 36; i++) {
479  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G16 " + LN.str(),
480  mePnAmplMapG16L4_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
481  mePnAmplMapG16L4_[i]->setAxisTitle("channel", 1);
482  mePnAmplMapG16L4_[i]->setAxisTitle("amplitude", 2);
483  dqmStore_->tag(mePnAmplMapG16L4_[i], i+1);
484 
485  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G16 " + LN.str();
486  mePnPedMapG16L4_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
487  mePnPedMapG16L4_[i]->setAxisTitle("channel", 1);
488  mePnPedMapG16L4_[i]->setAxisTitle("pedestal", 2);
489  dqmStore_->tag(mePnPedMapG16L4_[i], i+1);
490  }
491 
492  }
493 
494  }
495 
496 }
MonitorElement * mePnAmplMapG16L3_[36]
Definition: EBLaserTask.h:98
MonitorElement * meTimeMapL4_[36]
Definition: EBLaserTask.h:103
MonitorElement * meShapeMapL3_[36]
Definition: EBLaserTask.h:92
int i
Definition: DBlmapReader.cc:9
MonitorElement * meTimeMapL2_[36]
Definition: EBLaserTask.h:85
MonitorElement * meAmplSummaryMapL4_
Definition: EBLaserTask.h:113
MonitorElement * meAmplSummaryMapL1_
Definition: EBLaserTask.h:110
MonitorElement * mePnPedMapG16L3_[36]
Definition: EBLaserTask.h:99
MonitorElement * meAmplMapL2_[36]
Definition: EBLaserTask.h:84
static std::string sEB(const unsigned ism)
Definition: Numbers.cc:94
std::vector< int > laserWavelengths_
Definition: EBLaserTask.h:72
MonitorElement * meAmplPNMapL4_[36]
Definition: EBLaserTask.h:104
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
MonitorElement * meTimeMapL1_[36]
Definition: EBLaserTask.h:76
MonitorElement * mePnAmplMapG01L2_[36]
Definition: EBLaserTask.h:87
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1359
MonitorElement * mePnPedMapG16L2_[36]
Definition: EBLaserTask.h:90
MonitorElement * meTimeMapL3_[36]
Definition: EBLaserTask.h:94
MonitorElement * mePnAmplMapG01L4_[36]
Definition: EBLaserTask.h:105
MonitorElement * meAmplMapL4_[36]
Definition: EBLaserTask.h:102
MonitorElement * mePnPedMapG01L3_[36]
Definition: EBLaserTask.h:97
MonitorElement * mePnAmplMapG16L2_[36]
Definition: EBLaserTask.h:89
MonitorElement * meAmplSummaryMapL2_
Definition: EBLaserTask.h:111
MonitorElement * meShapeMapL4_[36]
Definition: EBLaserTask.h:101
DQMStore * dqmStore_
Definition: EBLaserTask.h:60
MonitorElement * meAmplPNMapL1_[36]
Definition: EBLaserTask.h:77
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:1036
MonitorElement * mePnPedMapG01L1_[36]
Definition: EBLaserTask.h:79
MonitorElement * mePnAmplMapG16L4_[36]
Definition: EBLaserTask.h:107
MonitorElement * meAmplPNMapL2_[36]
Definition: EBLaserTask.h:86
MonitorElement * meAmplMapL1_[36]
Definition: EBLaserTask.h:75
MonitorElement * meShapeMapL2_[36]
Definition: EBLaserTask.h:83
MonitorElement * meShapeMapL1_[36]
Definition: EBLaserTask.h:74
MonitorElement * mePnAmplMapG01L3_[36]
Definition: EBLaserTask.h:96
MonitorElement * mePnAmplMapG16L1_[36]
Definition: EBLaserTask.h:80
MonitorElement * mePnAmplMapG01L1_[36]
Definition: EBLaserTask.h:78
MonitorElement * mePnPedMapG01L4_[36]
Definition: EBLaserTask.h:106
MonitorElement * mePnPedMapG16L1_[36]
Definition: EBLaserTask.h:81
std::string prefixME_
Definition: EBLaserTask.h:62
MonitorElement * meAmplMapL3_[36]
Definition: EBLaserTask.h:93
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * meAmplPNMapL3_[36]
Definition: EBLaserTask.h:95
MonitorElement * mePnPedMapG16L4_[36]
Definition: EBLaserTask.h:108
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
MonitorElement * mePnPedMapG01L2_[36]
Definition: EBLaserTask.h:88
MonitorElement * meAmplSummaryMapL3_
Definition: EBLaserTask.h:112
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:1180

Member Data Documentation

DQMStore* EBLaserTask::dqmStore_
private

Definition at line 60 of file EBLaserTask.h.

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

edm::InputTag EBLaserTask::EBDigiCollection_
private

Definition at line 69 of file EBLaserTask.h.

Referenced by analyze(), and EBLaserTask().

edm::InputTag EBLaserTask::EcalPnDiodeDigiCollection_
private

Definition at line 70 of file EBLaserTask.h.

Referenced by analyze(), and EBLaserTask().

edm::InputTag EBLaserTask::EcalRawDataCollection_
private

Definition at line 68 of file EBLaserTask.h.

Referenced by analyze(), and EBLaserTask().

edm::InputTag EBLaserTask::EcalUncalibratedRecHitCollection_
private

Definition at line 71 of file EBLaserTask.h.

Referenced by analyze(), and EBLaserTask().

bool EBLaserTask::enableCleanup_
private

Definition at line 64 of file EBLaserTask.h.

Referenced by EBLaserTask(), and endJob().

int EBLaserTask::ievt_
private

Definition at line 58 of file EBLaserTask.h.

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

bool EBLaserTask::init_
private

Definition at line 115 of file EBLaserTask.h.

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

std::vector<int> EBLaserTask::laserWavelengths_
private

Definition at line 72 of file EBLaserTask.h.

Referenced by cleanup(), EBLaserTask(), reset(), and setup().

MonitorElement* EBLaserTask::meAmplMapL1_[36]
private

Definition at line 75 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meAmplMapL2_[36]
private

Definition at line 84 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meAmplMapL3_[36]
private

Definition at line 93 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meAmplMapL4_[36]
private

Definition at line 102 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meAmplPNMapL1_[36]
private

Definition at line 77 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meAmplPNMapL2_[36]
private

Definition at line 86 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meAmplPNMapL3_[36]
private

Definition at line 95 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meAmplPNMapL4_[36]
private

Definition at line 104 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meAmplSummaryMapL1_
private

Definition at line 110 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meAmplSummaryMapL2_
private

Definition at line 111 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meAmplSummaryMapL3_
private

Definition at line 112 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meAmplSummaryMapL4_
private

Definition at line 113 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnAmplMapG01L1_[36]
private

Definition at line 78 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnAmplMapG01L2_[36]
private

Definition at line 87 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnAmplMapG01L3_[36]
private

Definition at line 96 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnAmplMapG01L4_[36]
private

Definition at line 105 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnAmplMapG16L1_[36]
private

Definition at line 80 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnAmplMapG16L2_[36]
private

Definition at line 89 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnAmplMapG16L3_[36]
private

Definition at line 98 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnAmplMapG16L4_[36]
private

Definition at line 107 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnPedMapG01L1_[36]
private

Definition at line 79 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnPedMapG01L2_[36]
private

Definition at line 88 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnPedMapG01L3_[36]
private

Definition at line 97 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnPedMapG01L4_[36]
private

Definition at line 106 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnPedMapG16L1_[36]
private

Definition at line 81 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnPedMapG16L2_[36]
private

Definition at line 90 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnPedMapG16L3_[36]
private

Definition at line 99 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::mePnPedMapG16L4_[36]
private

Definition at line 108 of file EBLaserTask.h.

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

bool EBLaserTask::mergeRuns_
private

Definition at line 66 of file EBLaserTask.h.

Referenced by beginRun(), and EBLaserTask().

MonitorElement* EBLaserTask::meShapeMapL1_[36]
private

Definition at line 74 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meShapeMapL2_[36]
private

Definition at line 83 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meShapeMapL3_[36]
private

Definition at line 92 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meShapeMapL4_[36]
private

Definition at line 101 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meTimeMapL1_[36]
private

Definition at line 76 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meTimeMapL2_[36]
private

Definition at line 85 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meTimeMapL3_[36]
private

Definition at line 94 of file EBLaserTask.h.

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

MonitorElement* EBLaserTask::meTimeMapL4_[36]
private

Definition at line 103 of file EBLaserTask.h.

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

std::string EBLaserTask::prefixME_
private

Definition at line 62 of file EBLaserTask.h.

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