CMS 3D CMS Logo

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

#include <EBTestPulseClient.h>

Inheritance diagram for EBTestPulseClient:
EBClient

Public Member Functions

void analyze (void)
 Analyze. More...
 
void beginJob (void)
 BeginJob. More...
 
void beginRun (void)
 BeginRun. More...
 
void cleanup (void)
 Cleanup. More...
 
 EBTestPulseClient (const edm::ParameterSet &ps)
 Constructor. More...
 
void endJob (void)
 EndJob. More...
 
void endRun (void)
 EndRun. More...
 
int getEvtPerJob ()
 Get Functions. More...
 
int getEvtPerRun ()
 Returns the number of processed events in this Run. More...
 
void setup (void)
 Setup. More...
 
virtual ~EBTestPulseClient ()
 Destructor. More...
 
- Public Member Functions inherited from EBClient
virtual ~EBClient (void)
 

Private Attributes

float amplitudeThreshold_
 
float amplitudeThresholdPnG01_
 
float amplitudeThresholdPnG16_
 
bool cloneME_
 
bool debug_
 
DQMStoredqmStore_
 
bool enableCleanup_
 
TProfile2D * ha01_ [36]
 
TProfile2D * ha02_ [36]
 
TProfile2D * ha03_ [36]
 
TProfile2D * hs01_ [36]
 
TProfile2D * hs02_ [36]
 
TProfile2D * hs03_ [36]
 
TProfile * i01_ [36]
 
TProfile * i02_ [36]
 
TProfile * i03_ [36]
 
TProfile * i04_ [36]
 
int ievt_
 
int jevt_
 
MonitorElementme_hs01_ [36]
 
MonitorElementme_hs02_ [36]
 
MonitorElementme_hs03_ [36]
 
MonitorElementmea01_ [36]
 
MonitorElementmea02_ [36]
 
MonitorElementmea03_ [36]
 
MonitorElementmeg01_ [36]
 
MonitorElementmeg02_ [36]
 
MonitorElementmeg03_ [36]
 
MonitorElementmeg04_ [36]
 
MonitorElementmeg05_ [36]
 
MonitorElementmer04_ [36]
 
MonitorElementmer05_ [36]
 
std::vector< int > MGPAGains_
 
std::vector< int > MGPAGainsPN_
 
float pedPnDiscrepancyMean_ [2]
 
float pedPnExpectedMean_ [2]
 
float pedPnRMSThreshold_ [2]
 
float percentVariation_
 
std::string prefixME_
 
float RMSThreshold_
 
std::vector< int > superModules_
 
bool verbose_
 

Friends

class EBSummaryClient
 

Detailed Description

Definition at line 33 of file EBTestPulseClient.h.

Constructor & Destructor Documentation

EBTestPulseClient::EBTestPulseClient ( const edm::ParameterSet ps)

Constructor.

Definition at line 39 of file EBTestPulseClient.cc.

References amplitudeThreshold_, amplitudeThresholdPnG01_, amplitudeThresholdPnG16_, cloneME_, debug_, enableCleanup_, edm::ParameterSet::getUntrackedParameter(), ha01_, ha02_, ha03_, hs01_, hs02_, hs03_, i, i01_, i02_, i03_, i04_, ecalpyutils::ism(), me_hs01_, me_hs02_, me_hs03_, mea01_, mea02_, mea03_, meg01_, meg02_, meg03_, meg04_, meg05_, mer04_, mer05_, MGPAGains_, MGPAGainsPN_, pedPnDiscrepancyMean_, pedPnExpectedMean_, pedPnRMSThreshold_, percentVariation_, prefixME_, RMSThreshold_, superModules_, and verbose_.

39  {
40 
41  // cloneME switch
42  cloneME_ = ps.getUntrackedParameter<bool>("cloneME", true);
43 
44  // verbose switch
45  verbose_ = ps.getUntrackedParameter<bool>("verbose", true);
46 
47  // debug switch
48  debug_ = ps.getUntrackedParameter<bool>("debug", false);
49 
50  // prefixME path
51  prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", "");
52 
53  // enableCleanup_ switch
54  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
55 
56  // vector of selected Super Modules (Defaults to all 36).
57  superModules_.reserve(36);
58  for ( unsigned int i = 1; i <= 36; i++ ) superModules_.push_back(i);
59  superModules_ = ps.getUntrackedParameter<std::vector<int> >("superModules", superModules_);
60 
61  MGPAGains_.reserve(3);
62  for ( unsigned int i = 1; i <= 3; i++ ) MGPAGains_.push_back(i);
63  MGPAGains_ = ps.getUntrackedParameter<std::vector<int> >("MGPAGains", MGPAGains_);
64 
65  MGPAGainsPN_.reserve(2);
66  for ( unsigned int i = 1; i <= 3; i++ ) MGPAGainsPN_.push_back(i);
67  MGPAGainsPN_ = ps.getUntrackedParameter<std::vector<int> >("MGPAGainsPN", MGPAGainsPN_);
68 
69  for ( unsigned int i=0; i<superModules_.size(); i++ ) {
70 
71  int ism = superModules_[i];
72 
73  ha01_[ism-1] = 0;
74  ha02_[ism-1] = 0;
75  ha03_[ism-1] = 0;
76 
77  hs01_[ism-1] = 0;
78  hs02_[ism-1] = 0;
79  hs03_[ism-1] = 0;
80 
81  i01_[ism-1] = 0;
82  i02_[ism-1] = 0;
83  i03_[ism-1] = 0;
84  i04_[ism-1] = 0;
85 
86  }
87 
88  for ( unsigned int i=0; i<superModules_.size(); i++ ) {
89 
90  int ism = superModules_[i];
91 
92  meg01_[ism-1] = 0;
93  meg02_[ism-1] = 0;
94  meg03_[ism-1] = 0;
95 
96  meg04_[ism-1] = 0;
97  meg05_[ism-1] = 0;
98 
99  mea01_[ism-1] = 0;
100  mea02_[ism-1] = 0;
101  mea03_[ism-1] = 0;
102 
103  mer04_[ism-1] = 0;
104  mer05_[ism-1] = 0;
105 
106  me_hs01_[ism-1] = 0;
107  me_hs02_[ism-1] = 0;
108  me_hs03_[ism-1] = 0;
109 
110  }
111 
112  percentVariation_ = 0.2;
113  RMSThreshold_ = 300.0;
114 
115  amplitudeThreshold_ = 100.;
116 
117  amplitudeThresholdPnG01_ = 200./16.;
119 
120  pedPnExpectedMean_[0] = 750.0;
121  pedPnExpectedMean_[1] = 750.0;
122 
123  pedPnDiscrepancyMean_[0] = 100.0;
124  pedPnDiscrepancyMean_[1] = 100.0;
125 
126  pedPnRMSThreshold_[0] = 999.;
127  pedPnRMSThreshold_[1] = 999.;
128 
129 }
float pedPnDiscrepancyMean_[2]
TProfile * i02_[36]
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
MonitorElement * meg05_[36]
TProfile2D * ha02_[36]
TProfile2D * ha03_[36]
MonitorElement * meg03_[36]
MonitorElement * mea01_[36]
MonitorElement * me_hs03_[36]
MonitorElement * meg02_[36]
MonitorElement * mer05_[36]
MonitorElement * mea03_[36]
MonitorElement * mea02_[36]
std::vector< int > MGPAGainsPN_
std::vector< int > MGPAGains_
TProfile2D * hs03_[36]
MonitorElement * meg04_[36]
TProfile * i01_[36]
TProfile2D * ha01_[36]
MonitorElement * me_hs02_[36]
TProfile2D * hs01_[36]
TProfile * i03_[36]
std::vector< int > superModules_
MonitorElement * mer04_[36]
MonitorElement * me_hs01_[36]
MonitorElement * meg01_[36]
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:47
TProfile2D * hs02_[36]
TProfile * i04_[36]
EBTestPulseClient::~EBTestPulseClient ( )
virtual

Destructor.

Definition at line 131 of file EBTestPulseClient.cc.

131  {
132 
133 }

Member Function Documentation

void EBTestPulseClient::analyze ( void  )
virtual

Analyze.

Implements EBClient.

Definition at line 665 of file EBTestPulseClient.cc.

References abs, amplitudeThreshold_, amplitudeThresholdPnG01_, amplitudeThresholdPnG16_, cloneME_, gather_cfg::cout, debug_, dqmStore_, EcalBarrel, MonitorElement::Fill(), spr::find(), DQMStore::get(), UtilsClient::getBinStatistics(), UtilsClient::getFirstNonEmptyChannel(), ha01_, ha02_, ha03_, trackerHits::histo, hs01_, hs02_, hs03_, i, i01_, i02_, i03_, i04_, Numbers::icEB(), ievt_, jevt_, UtilsClient::maskBinContent(), Masks::maskChannel(), Masks::maskPn(), me_hs01_, me_hs02_, me_hs03_, mea01_, mea02_, mea03_, meg01_, meg02_, meg03_, meg04_, meg05_, mer04_, mer05_, MGPAGains_, MGPAGainsPN_, EcalDQMStatusHelper::PEDESTAL_HIGH_GAIN_MEAN_ERROR, EcalDQMStatusHelper::PEDESTAL_HIGH_GAIN_RMS_ERROR, EcalDQMStatusHelper::PEDESTAL_LOW_GAIN_MEAN_ERROR, EcalDQMStatusHelper::PEDESTAL_LOW_GAIN_RMS_ERROR, pedPnDiscrepancyMean_, pedPnExpectedMean_, pedPnRMSThreshold_, percentVariation_, prefixME_, MonitorElement::Reset(), RMSThreshold_, Numbers::sEB(), MonitorElement::setBinContent(), MonitorElement::setBinError(), MonitorElement::setEntries(), superModules_, EcalDQMStatusHelper::TESTPULSE_HIGH_GAIN_MEAN_ERROR, EcalDQMStatusHelper::TESTPULSE_HIGH_GAIN_RMS_ERROR, EcalDQMStatusHelper::TESTPULSE_LOW_GAIN_MEAN_ERROR, EcalDQMStatusHelper::TESTPULSE_LOW_GAIN_RMS_ERROR, EcalDQMStatusHelper::TESTPULSE_MIDDLE_GAIN_MEAN_ERROR, and EcalDQMStatusHelper::TESTPULSE_MIDDLE_GAIN_RMS_ERROR.

665  {
666 
667  ievt_++;
668  jevt_++;
669  if ( ievt_ % 10 == 0 ) {
670  if ( debug_ ) std::cout << "EBTestPulseClient: ievt/jevt = " << ievt_ << "/" << jevt_ << std::endl;
671  }
672 
673  uint32_t bits01 = 0;
676 
677  uint32_t bits02 = 0;
680 
681  uint32_t bits03 = 0;
684 
685  uint32_t bits04 = 0;
688 
689  uint32_t bits05 = 0;
692 
693  char histo[200];
694 
695  MonitorElement* me;
696 
697  for ( unsigned int i=0; i<superModules_.size(); i++ ) {
698 
699  int ism = superModules_[i];
700 
701  if (find(MGPAGains_.begin(), MGPAGains_.end(), 1) != MGPAGains_.end() ) {
702 
703  sprintf(histo, (prefixME_ + "/EBTestPulseTask/Gain01/EBTPT amplitude %s G01").c_str(), Numbers::sEB(ism).c_str());
704  me = dqmStore_->get(histo);
705  ha01_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, ha01_[ism-1] );
706 
707  }
708 
709  if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {
710 
711  sprintf(histo, (prefixME_ + "/EBTestPulseTask/Gain06/EBTPT amplitude %s G06").c_str(), Numbers::sEB(ism).c_str());
712  me = dqmStore_->get(histo);
713  ha02_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, ha02_[ism-1] );
714 
715  }
716 
717  if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {
718 
719  sprintf(histo, (prefixME_ + "/EBTestPulseTask/Gain12/EBTPT amplitude %s G12").c_str(), Numbers::sEB(ism).c_str());
720  me = dqmStore_->get(histo);
721  ha03_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, ha03_[ism-1] );
722 
723  }
724 
725  if (find(MGPAGains_.begin(), MGPAGains_.end(), 1) != MGPAGains_.end() ) {
726 
727  sprintf(histo, (prefixME_ + "/EBTestPulseTask/Gain01/EBTPT shape %s G01").c_str(), Numbers::sEB(ism).c_str());
728  me = dqmStore_->get(histo);
729  hs01_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs01_[ism-1] );
730 
731  }
732 
733  if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {
734 
735  sprintf(histo, (prefixME_ + "/EBTestPulseTask/Gain06/EBTPT shape %s G06").c_str(), Numbers::sEB(ism).c_str());
736  me = dqmStore_->get(histo);
737  hs02_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs02_[ism-1] );
738 
739  }
740 
741  if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {
742 
743  sprintf(histo, (prefixME_ + "/EBTestPulseTask/Gain12/EBTPT shape %s G12").c_str(), Numbers::sEB(ism).c_str());
744  me = dqmStore_->get(histo);
745  hs03_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs03_[ism-1] );
746 
747  }
748 
749  if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 1) != MGPAGainsPN_.end() ) {
750 
751  sprintf(histo, (prefixME_ + "/EBTestPulseTask/PN/Gain01/EBTPT PNs amplitude %s G01").c_str(), Numbers::sEB(ism).c_str());
752  me = dqmStore_->get(histo);
753  i01_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i01_[ism-1] );
754 
755  }
756 
757 
758  if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 16) != MGPAGainsPN_.end() ) {
759 
760  sprintf(histo, (prefixME_ + "/EBTestPulseTask/PN/Gain16/EBTPT PNs amplitude %s G16").c_str(), Numbers::sEB(ism).c_str());
761  me = dqmStore_->get(histo);
762  i02_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i02_[ism-1] );
763 
764  }
765 
766  if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 1) != MGPAGainsPN_.end() ) {
767 
768  sprintf(histo, (prefixME_ + "/EBTestPulseTask/PN/Gain01/EBTPT PNs pedestal %s G01").c_str(), Numbers::sEB(ism).c_str());
769  me = dqmStore_->get(histo);
770  i03_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i03_[ism-1] );
771 
772  }
773 
774  if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 16) != MGPAGainsPN_.end() ) {
775 
776  sprintf(histo, (prefixME_ + "/EBTestPulseTask/PN/Gain16/EBTPT PNs pedestal %s G16").c_str(), Numbers::sEB(ism).c_str());
777  me = dqmStore_->get(histo);
778  i04_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i04_[ism-1] );
779 
780  }
781 
782  if ( meg01_[ism-1] ) meg01_[ism-1]->Reset();
783  if ( meg02_[ism-1] ) meg02_[ism-1]->Reset();
784  if ( meg03_[ism-1] ) meg03_[ism-1]->Reset();
785 
786  if ( meg04_[ism-1] ) meg04_[ism-1]->Reset();
787  if ( meg05_[ism-1] ) meg05_[ism-1]->Reset();
788 
789  if ( mea01_[ism-1] ) mea01_[ism-1]->Reset();
790  if ( mea02_[ism-1] ) mea02_[ism-1]->Reset();
791  if ( mea03_[ism-1] ) mea03_[ism-1]->Reset();
792 
793  if ( mer04_[ism-1] ) mer04_[ism-1]->Reset();
794  if ( mer05_[ism-1] ) mer05_[ism-1]->Reset();
795 
796  if ( me_hs01_[ism-1] ) me_hs01_[ism-1]->Reset();
797  if ( me_hs02_[ism-1] ) me_hs02_[ism-1]->Reset();
798  if ( me_hs03_[ism-1] ) me_hs03_[ism-1]->Reset();
799 
800  float meanAmpl01, meanAmpl02, meanAmpl03;
801 
802  int nCry01, nCry02, nCry03;
803 
804  meanAmpl01 = meanAmpl02 = meanAmpl03 = 0.;
805 
806  nCry01 = nCry02 = nCry03 = 0;
807 
808  for ( int ie = 1; ie <= 85; ie++ ) {
809  for ( int ip = 1; ip <= 20; ip++ ) {
810 
811  bool update01;
812  bool update02;
813  bool update03;
814 
815  float num01, num02, num03;
816  float mean01, mean02, mean03;
817  float rms01, rms02, rms03;
818 
819  update01 = UtilsClient::getBinStatistics(ha01_[ism-1], ie, ip, num01, mean01, rms01);
820  update02 = UtilsClient::getBinStatistics(ha02_[ism-1], ie, ip, num02, mean02, rms02);
821  update03 = UtilsClient::getBinStatistics(ha03_[ism-1], ie, ip, num03, mean03, rms03);
822 
823  if ( update01 ) {
824  meanAmpl01 += mean01;
825  nCry01++;
826  }
827 
828  if ( update02 ) {
829  meanAmpl02 += mean02;
830  nCry02++;
831  }
832 
833  if ( update03 ) {
834  meanAmpl03 += mean03;
835  nCry03++;
836  }
837 
838  }
839  }
840 
841  if ( nCry01 > 0 ) meanAmpl01 /= float (nCry01);
842  if ( nCry02 > 0 ) meanAmpl02 /= float (nCry02);
843  if ( nCry03 > 0 ) meanAmpl03 /= float (nCry03);
844 
845  for ( int ie = 1; ie <= 85; ie++ ) {
846  for ( int ip = 1; ip <= 20; ip++ ) {
847 
848  if ( meg01_[ism-1] ) meg01_[ism-1]->setBinContent( ie, ip, 2. );
849  if ( meg02_[ism-1] ) meg02_[ism-1]->setBinContent( ie, ip, 2. );
850  if ( meg03_[ism-1] ) meg03_[ism-1]->setBinContent( ie, ip, 2. );
851 
852  float numEventsinCry[3] = {0., 0., 0.};
853 
854  if ( ha01_[ism-1] ) numEventsinCry[0] = ha01_[ism-1]->GetBinEntries(ha01_[ism-1]->GetBin(ie, ip));
855  if ( ha02_[ism-1] ) numEventsinCry[1] = ha02_[ism-1]->GetBinEntries(ha02_[ism-1]->GetBin(ie, ip));
856  if ( ha03_[ism-1] ) numEventsinCry[2] = ha03_[ism-1]->GetBinEntries(ha03_[ism-1]->GetBin(ie, ip));
857 
858  bool update01;
859  bool update02;
860  bool update03;
861 
862  float num01, num02, num03;
863  float mean01, mean02, mean03;
864  float rms01, rms02, rms03;
865 
866  update01 = UtilsClient::getBinStatistics(ha01_[ism-1], ie, ip, num01, mean01, rms01);
867  update02 = UtilsClient::getBinStatistics(ha02_[ism-1], ie, ip, num02, mean02, rms02);
868  update03 = UtilsClient::getBinStatistics(ha03_[ism-1], ie, ip, num03, mean03, rms03);
869 
870  if ( update01 ) {
871 
872  float val;
873 
874  val = 1.;
875  if ( std::abs(mean01 - meanAmpl01) > std::abs(percentVariation_ * meanAmpl01) || mean01 < amplitudeThreshold_ )
876  val = 0.;
877  if ( rms01 > RMSThreshold_ )
878  val = 0.;
879  if ( meg01_[ism-1] ) meg01_[ism-1]->setBinContent( ie, ip, val );
880 
881  int ic = Numbers::icEB(ism, ie, ip);
882 
883  if ( mea01_[ism-1] ) {
884  if ( mean01 > 0. ) {
885  mea01_[ism-1]->setBinContent( ic, mean01 );
886  mea01_[ism-1]->setBinError( ic, rms01 );
887  } else {
888  mea01_[ism-1]->setEntries( 1.+mea01_[ism-1]->getEntries() );
889  }
890  }
891 
892  }
893 
894  if ( update02 ) {
895 
896  float val;
897 
898  val = 1.;
899  if ( std::abs(mean02 - meanAmpl02) > std::abs(percentVariation_ * meanAmpl02) || mean02 < amplitudeThreshold_ )
900  val = 0.;
901  if ( rms02 > RMSThreshold_ )
902  val = 0.;
903  if ( meg02_[ism-1] ) meg02_[ism-1]->setBinContent( ie, ip, val );
904 
905  int ic = Numbers::icEB(ism, ie, ip);
906 
907  if ( mea02_[ism-1] ) {
908  if ( mean02 > 0. ) {
909  mea02_[ism-1]->setBinContent( ic, mean02 );
910  mea02_[ism-1]->setBinError( ic, rms02 );
911  } else {
912  mea02_[ism-1]->setEntries( 1.+mea02_[ism-1]->getEntries() );
913  }
914  }
915 
916  }
917 
918  if ( update03 ) {
919 
920  float val;
921 
922  val = 1.;
923  if ( std::abs(mean03 - meanAmpl03) > std::abs(percentVariation_ * meanAmpl03) || mean03 < amplitudeThreshold_ )
924  val = 0.;
925  if ( rms03 > RMSThreshold_ )
926  val = 0.;
927  if ( meg03_[ism-1] ) meg03_[ism-1]->setBinContent( ie, ip, val );
928 
929  int ic = Numbers::icEB(ism, ie, ip);
930 
931  if ( mea03_[ism-1] ) {
932  if ( mean03 > 0. ) {
933  mea03_[ism-1]->setBinContent( ic, mean03 );
934  mea03_[ism-1]->setBinError( ic, rms03 );
935  } else {
936  mea03_[ism-1]->setEntries( 1.+mea03_[ism-1]->getEntries() );
937  }
938  }
939 
940  }
941 
942  if ( Masks::maskChannel(ism, ie, ip, bits01, EcalBarrel) ) UtilsClient::maskBinContent( meg01_[ism-1], ie, ip );
943  if ( Masks::maskChannel(ism, ie, ip, bits02, EcalBarrel) ) UtilsClient::maskBinContent( meg02_[ism-1], ie, ip );
944  if ( Masks::maskChannel(ism, ie, ip, bits03, EcalBarrel) ) UtilsClient::maskBinContent( meg03_[ism-1], ie, ip );
945 
946  }
947  }
948 
949  for ( int i = 1; i <= 10; i++ ) {
950 
951  if ( meg04_[ism-1] ) meg04_[ism-1]->setBinContent( i, 1, 2. );
952  if ( meg05_[ism-1] ) meg05_[ism-1]->setBinContent( i, 1, 2. );
953 
954  bool update01;
955  bool update02;
956  bool update03;
957  bool update04;
958 
959  float num01, num02, num03, num04;
960  float mean01, mean02, mean03, mean04;
961  float rms01, rms02, rms03, rms04;
962 
963  update01 = UtilsClient::getBinStatistics(i01_[ism-1], i, 0, num01, mean01, rms01);
964  update02 = UtilsClient::getBinStatistics(i02_[ism-1], i, 0, num02, mean02, rms02);
965  update03 = UtilsClient::getBinStatistics(i03_[ism-1], i, 0, num03, mean03, rms03);
966  update04 = UtilsClient::getBinStatistics(i04_[ism-1], i, 0, num04, mean04, rms04);
967 
968  if ( mer04_[ism-1] ) mer04_[ism-1]->Fill(rms03);
969  if ( mer05_[ism-1] ) mer05_[ism-1]->Fill(rms04);
970 
971  if ( update01 && update03 ) {
972 
973  float val;
974 
975  val = 1.;
976  if ( mean01 < amplitudeThresholdPnG01_ )
977  val = 0.;
978  if ( mean03 < pedPnExpectedMean_[0] - pedPnDiscrepancyMean_[0] ||
979  pedPnExpectedMean_[0] + pedPnDiscrepancyMean_[0] < mean03)
980  val = 0.;
981  if ( rms03 > pedPnRMSThreshold_[0] )
982  val = 0.;
983  if ( meg04_[ism-1] ) meg04_[ism-1]->setBinContent(i, 1, val);
984 
985  }
986 
987  if ( update02 && update04 ) {
988 
989  float val;
990 
991  val = 1.;
992  if ( mean02 < amplitudeThresholdPnG16_ )
993  val = 0.;
994  if ( mean04 < pedPnExpectedMean_[1] - pedPnDiscrepancyMean_[1] ||
995  pedPnExpectedMean_[1] + pedPnDiscrepancyMean_[1] < mean04)
996  val = 0.;
997  if ( rms04 > pedPnRMSThreshold_[1] )
998  val = 0.;
999  if ( meg05_[ism-1] ) meg05_[ism-1]->setBinContent(i, 1, val);
1000 
1001  }
1002 
1003  if ( Masks::maskPn(ism, i, bits01|bits04, EcalBarrel) ) UtilsClient::maskBinContent( meg04_[ism-1], i, 1 );
1004  if ( Masks::maskPn(ism, i, bits03|bits05, EcalBarrel) ) UtilsClient::maskBinContent( meg05_[ism-1], i, 1 );
1005 
1006  }
1007 
1008  for ( int i = 1; i <= 10; i++ ) {
1009 
1010  if ( hs01_[ism-1] ) {
1011  int ic = UtilsClient::getFirstNonEmptyChannel( hs01_[ism-1] );
1012  if ( me_hs01_[ism-1] ) {
1013  me_hs01_[ism-1]->setBinContent( i, hs01_[ism-1]->GetBinContent(ic, i) );
1014  me_hs01_[ism-1]->setBinError( i, hs01_[ism-1]->GetBinError(ic, i) );
1015  }
1016  }
1017 
1018  if ( hs02_[ism-1] ) {
1019  int ic = UtilsClient::getFirstNonEmptyChannel( hs02_[ism-1] );
1020  if ( me_hs02_[ism-1] ) {
1021  me_hs02_[ism-1]->setBinContent( i, hs02_[ism-1]->GetBinContent(ic, i) );
1022  me_hs02_[ism-1]->setBinError( i, hs02_[ism-1]->GetBinError(ic, i) );
1023  }
1024  }
1025 
1026  if ( hs03_[ism-1] ) {
1027  int ic = UtilsClient::getFirstNonEmptyChannel( hs03_[ism-1] );
1028  if ( me_hs03_[ism-1] ) {
1029  me_hs03_[ism-1]->setBinContent( i, hs03_[ism-1]->GetBinContent(ic, i) );
1030  me_hs03_[ism-1]->setBinError( i, hs03_[ism-1]->GetBinError(ic, i) );
1031  }
1032  }
1033 
1034  }
1035 
1036  }
1037 
1038 }
float pedPnDiscrepancyMean_[2]
TProfile * i02_[36]
int i
Definition: DBlmapReader.cc:9
void setBinContent(int binx, double content)
set content of bin (1-D)
static bool maskChannel(int ism, int i1, int i2, uint32_t bits, const EcalSubdetector subdet)
Definition: Masks.cc:60
static std::string sEB(const int ism)
Definition: Numbers.cc:81
static const int TESTPULSE_LOW_GAIN_RMS_ERROR
MonitorElement * meg05_[36]
static int getFirstNonEmptyChannel(const TProfile2D *histo)
Find the first non empty bin.
Definition: UtilsClient.h:206
TProfile2D * ha02_[36]
static void maskBinContent(const MonitorElement *me, const int ix, const int iy)
Mask the bin content.
Definition: UtilsClient.h:189
static const int PEDESTAL_HIGH_GAIN_MEAN_ERROR
TProfile2D * ha03_[36]
MonitorElement * meg03_[36]
MonitorElement * mea01_[36]
MonitorElement * me_hs03_[36]
MonitorElement * meg02_[36]
#define abs(x)
Definition: mlp_lapack.h:159
MonitorElement * mer05_[36]
tuple histo
Definition: trackerHits.py:12
static const int TESTPULSE_MIDDLE_GAIN_MEAN_ERROR
static const int PEDESTAL_LOW_GAIN_RMS_ERROR
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
static int icEB(const int ism, const int ix, const int iy)
Definition: Numbers.cc:892
MonitorElement * mea03_[36]
static const int PEDESTAL_HIGH_GAIN_RMS_ERROR
static bool maskPn(int ism, int i1, uint32_t bits, const EcalSubdetector subdet)
Definition: Masks.cc:112
void Fill(long long x)
MonitorElement * mea02_[36]
static const int TESTPULSE_MIDDLE_GAIN_RMS_ERROR
std::vector< int > MGPAGainsPN_
std::vector< int > MGPAGains_
TProfile2D * hs03_[36]
static const int TESTPULSE_HIGH_GAIN_RMS_ERROR
void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
MonitorElement * meg04_[36]
void setEntries(double nentries)
set # of entries
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1270
TProfile * i01_[36]
static const int PEDESTAL_LOW_GAIN_MEAN_ERROR
TProfile2D * ha01_[36]
static const int TESTPULSE_LOW_GAIN_MEAN_ERROR
MonitorElement * me_hs02_[36]
TProfile2D * hs01_[36]
TProfile * i03_[36]
std::vector< int > superModules_
tuple cout
Definition: gather_cfg.py:41
MonitorElement * mer04_[36]
static const int TESTPULSE_HIGH_GAIN_MEAN_ERROR
MonitorElement * me_hs01_[36]
MonitorElement * meg01_[36]
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:47
void Reset(void)
reset ME (ie. contents, errors, etc)
static bool getBinStatistics(const T *histo, const int ix, const int iy, float &num, float &mean, float &rms)
Returns true if the bin contains good statistical data.
Definition: UtilsClient.h:133
TProfile2D * hs02_[36]
TProfile * i04_[36]
void EBTestPulseClient::beginJob ( void  )
virtual

BeginJob.

Implements EBClient.

Definition at line 135 of file EBTestPulseClient.cc.

References gather_cfg::cout, debug_, dqmStore_, ievt_, jevt_, and cmsCodeRules.cppFunctionSkipper::operator.

135  {
136 
138 
139  if ( debug_ ) std::cout << "EBTestPulseClient: beginJob" << std::endl;
140 
141  ievt_ = 0;
142  jevt_ = 0;
143 
144 }
tuple cout
Definition: gather_cfg.py:41
void EBTestPulseClient::beginRun ( void  )
virtual

BeginRun.

Implements EBClient.

Definition at line 146 of file EBTestPulseClient.cc.

References gather_cfg::cout, debug_, jevt_, and setup().

146  {
147 
148  if ( debug_ ) std::cout << "EBTestPulseClient: beginRun" << std::endl;
149 
150  jevt_ = 0;
151 
152  this->setup();
153 
154 }
void setup(void)
Setup.
tuple cout
Definition: gather_cfg.py:41
void EBTestPulseClient::cleanup ( void  )
virtual

Cleanup.

Implements EBClient.

Definition at line 321 of file EBTestPulseClient.cc.

References cloneME_, dqmStore_, enableCleanup_, edm::getName(), ha01_, ha02_, ha03_, hs01_, hs02_, hs03_, i, i01_, i02_, i03_, i04_, ecalpyutils::ism(), me_hs01_, me_hs02_, me_hs03_, mea01_, mea02_, mea03_, meg01_, meg02_, meg03_, meg04_, meg05_, mer04_, mer05_, prefixME_, DQMStore::removeElement(), DQMStore::setCurrentFolder(), and superModules_.

Referenced by endJob(), and endRun().

321  {
322 
323  if ( ! enableCleanup_ ) return;
324 
325  for ( unsigned int i=0; i<superModules_.size(); i++ ) {
326 
327  int ism = superModules_[i];
328 
329  if ( cloneME_ ) {
330  if ( ha01_[ism-1] ) delete ha01_[ism-1];
331  if ( ha02_[ism-1] ) delete ha02_[ism-1];
332  if ( ha03_[ism-1] ) delete ha03_[ism-1];
333 
334  if ( hs01_[ism-1] ) delete hs01_[ism-1];
335  if ( hs02_[ism-1] ) delete hs02_[ism-1];
336  if ( hs03_[ism-1] ) delete hs03_[ism-1];
337 
338  if ( i01_[ism-1] ) delete i01_[ism-1];
339  if ( i02_[ism-1] ) delete i02_[ism-1];
340  if ( i03_[ism-1] ) delete i03_[ism-1];
341  if ( i04_[ism-1] ) delete i04_[ism-1];
342  }
343 
344  ha01_[ism-1] = 0;
345  ha02_[ism-1] = 0;
346  ha03_[ism-1] = 0;
347 
348  hs01_[ism-1] = 0;
349  hs02_[ism-1] = 0;
350  hs03_[ism-1] = 0;
351 
352  i01_[ism-1] = 0;
353  i02_[ism-1] = 0;
354  i03_[ism-1] = 0;
355  i04_[ism-1] = 0;
356 
357  }
358 
359  for ( unsigned int i=0; i<superModules_.size(); i++ ) {
360 
361  int ism = superModules_[i];
362 
363  dqmStore_->setCurrentFolder( prefixME_ + "/EBTestPulseClient" );
364 
365  if ( meg01_[ism-1] ) dqmStore_->removeElement( meg01_[ism-1]->getName() );
366  meg01_[ism-1] = 0;
367  if ( meg02_[ism-1] ) dqmStore_->removeElement( meg02_[ism-1]->getName() );
368  meg02_[ism-1] = 0;
369  if ( meg03_[ism-1] ) dqmStore_->removeElement( meg03_[ism-1]->getName() );
370  meg03_[ism-1] = 0;
371 
372  if ( meg04_[ism-1] ) dqmStore_->removeElement( meg04_[ism-1]->getName() );
373  meg04_[ism-1] = 0;
374  if ( meg05_[ism-1] ) dqmStore_->removeElement( meg05_[ism-1]->getName() );
375  meg05_[ism-1] = 0;
376 
377  if ( mea01_[ism-1] ) dqmStore_->removeElement( mea01_[ism-1]->getName() );
378  mea01_[ism-1] = 0;
379  if ( mea02_[ism-1] ) dqmStore_->removeElement( mea02_[ism-1]->getName() );
380  mea02_[ism-1] = 0;
381  if ( mea03_[ism-1] ) dqmStore_->removeElement( mea03_[ism-1]->getName() );
382  mea03_[ism-1] = 0;
383 
384  if ( mer04_[ism-1] ) dqmStore_->removeElement( mer04_[ism-1]->getName() );
385  mer04_[ism-1] = 0;
386  if ( mer05_[ism-1] ) dqmStore_->removeElement( mer05_[ism-1]->getName() );
387  mer05_[ism-1] = 0;
388 
389  if ( me_hs01_[ism-1] ) dqmStore_->removeElement( me_hs01_[ism-1]->getName() );
390  me_hs01_[ism-1] = 0;
391  if ( me_hs02_[ism-1] ) dqmStore_->removeElement( me_hs02_[ism-1]->getName() );
392  me_hs02_[ism-1] = 0;
393  if ( me_hs03_[ism-1] ) dqmStore_->removeElement( me_hs03_[ism-1]->getName() );
394  me_hs03_[ism-1] = 0;
395 
396  }
397 
398 }
TProfile * i02_[36]
int i
Definition: DBlmapReader.cc:9
MonitorElement * meg05_[36]
TProfile2D * ha02_[36]
TProfile2D * ha03_[36]
MonitorElement * meg03_[36]
MonitorElement * mea01_[36]
MonitorElement * me_hs03_[36]
MonitorElement * meg02_[36]
MonitorElement * mer05_[36]
MonitorElement * mea03_[36]
MonitorElement * mea02_[36]
void removeElement(const std::string &name)
Definition: DQMStore.cc:2338
TProfile2D * hs03_[36]
MonitorElement * meg04_[36]
std::string getName(Reflex::Type &cc)
Definition: ClassFiller.cc:18
TProfile * i01_[36]
TProfile2D * ha01_[36]
MonitorElement * me_hs02_[36]
TProfile2D * hs01_[36]
TProfile * i03_[36]
std::vector< int > superModules_
MonitorElement * mer04_[36]
MonitorElement * me_hs01_[36]
MonitorElement * meg01_[36]
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:47
TProfile2D * hs02_[36]
TProfile * i04_[36]
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
void EBTestPulseClient::endJob ( void  )
virtual

EndJob.

Implements EBClient.

Definition at line 156 of file EBTestPulseClient.cc.

References cleanup(), gather_cfg::cout, debug_, and ievt_.

156  {
157 
158  if ( debug_ ) std::cout << "EBTestPulseClient: std::endlJob, ievt = " << ievt_ << std::endl;
159 
160  this->cleanup();
161 
162 }
void cleanup(void)
Cleanup.
tuple cout
Definition: gather_cfg.py:41
void EBTestPulseClient::endRun ( void  )
virtual

EndRun.

Implements EBClient.

Definition at line 164 of file EBTestPulseClient.cc.

References cleanup(), gather_cfg::cout, debug_, and jevt_.

164  {
165 
166  if ( debug_ ) std::cout << "EBTestPulseClient: std::endlRun, jevt = " << jevt_ << std::endl;
167 
168  this->cleanup();
169 
170 }
void cleanup(void)
Cleanup.
tuple cout
Definition: gather_cfg.py:41
int EBTestPulseClient::getEvtPerJob ( void  )
inlinevirtual

Get Functions.

Implements EBClient.

Definition at line 72 of file EBTestPulseClient.h.

References ievt_.

72 { return ievt_; }
int EBTestPulseClient::getEvtPerRun ( void  )
inlinevirtual

Returns the number of processed events in this Run.

Implements EBClient.

Definition at line 73 of file EBTestPulseClient.h.

References jevt_.

73 { return jevt_; }
void EBTestPulseClient::setup ( void  )
virtual

Setup.

Implements EBClient.

Definition at line 172 of file EBTestPulseClient.cc.

References DQMStore::book1D(), DQMStore::book2D(), dqmStore_, spr::find(), edm::getName(), trackerHits::histo, i, ecalpyutils::ism(), me_hs01_, me_hs02_, me_hs03_, mea01_, mea02_, mea03_, meg01_, meg02_, meg03_, meg04_, meg05_, mer04_, mer05_, MGPAGains_, MGPAGainsPN_, prefixME_, DQMStore::removeElement(), MonitorElement::Reset(), Numbers::sEB(), MonitorElement::setAxisTitle(), MonitorElement::setBinContent(), DQMStore::setCurrentFolder(), and superModules_.

Referenced by beginRun().

172  {
173 
174  char histo[200];
175 
176  dqmStore_->setCurrentFolder( prefixME_ + "/EBTestPulseClient" );
177 
178  for ( unsigned int i=0; i<superModules_.size(); i++ ) {
179 
180  int ism = superModules_[i];
181 
182  if (find(MGPAGains_.begin(), MGPAGains_.end(), 1) != MGPAGains_.end() ) {
183  if ( meg01_[ism-1] ) dqmStore_->removeElement( meg01_[ism-1]->getName() );
184  sprintf(histo, "EBTPT test pulse quality G01 %s", Numbers::sEB(ism).c_str());
185  meg01_[ism-1] = dqmStore_->book2D(histo, histo, 85, 0., 85., 20, 0., 20.);
186  meg01_[ism-1]->setAxisTitle("ieta", 1);
187  meg01_[ism-1]->setAxisTitle("iphi", 2);
188  }
189  if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {
190  if ( meg02_[ism-1] ) dqmStore_->removeElement( meg02_[ism-1]->getName() );
191  sprintf(histo, "EBTPT test pulse quality G06 %s", Numbers::sEB(ism).c_str());
192  meg02_[ism-1] = dqmStore_->book2D(histo, histo, 85, 0., 85., 20, 0., 20.);
193  meg02_[ism-1]->setAxisTitle("ieta", 1);
194  meg02_[ism-1]->setAxisTitle("iphi", 2);
195  }
196  if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {
197  if ( meg03_[ism-1] ) dqmStore_->removeElement( meg03_[ism-1]->getName() );
198  sprintf(histo, "EBTPT test pulse quality G12 %s", Numbers::sEB(ism).c_str());
199  meg03_[ism-1] = dqmStore_->book2D(histo, histo, 85, 0., 85., 20, 0., 20.);
200  meg03_[ism-1]->setAxisTitle("ieta", 1);
201  meg03_[ism-1]->setAxisTitle("iphi", 2);
202  }
203 
204  if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 1) != MGPAGainsPN_.end() ) {
205  if ( meg04_[ism-1] ) dqmStore_->removeElement( meg04_[ism-1]->getName() );
206  sprintf(histo, "EBTPT test pulse quality PNs G01 %s", Numbers::sEB(ism).c_str());
207  meg04_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
208  meg04_[ism-1]->setAxisTitle("pseudo-strip", 1);
209  meg04_[ism-1]->setAxisTitle("channel", 2);
210  }
211  if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 16) != MGPAGainsPN_.end() ) {
212  if ( meg05_[ism-1] ) dqmStore_->removeElement( meg05_[ism-1]->getName() );
213  sprintf(histo, "EBTPT test pulse quality PNs G16 %s", Numbers::sEB(ism).c_str());
214  meg05_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
215  meg05_[ism-1]->setAxisTitle("pseudo-strip", 1);
216  meg05_[ism-1]->setAxisTitle("channel", 2);
217  }
218 
219  if (find(MGPAGains_.begin(), MGPAGains_.end(), 1) != MGPAGains_.end() ) {
220  if ( mea01_[ism-1] ) dqmStore_->removeElement( mea01_[ism-1]->getName() );
221  sprintf(histo, "EBTPT test pulse amplitude G01 %s", Numbers::sEB(ism).c_str());
222  mea01_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
223  mea01_[ism-1]->setAxisTitle("channel", 1);
224  mea01_[ism-1]->setAxisTitle("amplitude", 2);
225  }
226  if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {
227  if ( mea02_[ism-1] ) dqmStore_->removeElement( mea02_[ism-1]->getName() );
228  sprintf(histo, "EBTPT test pulse amplitude G06 %s", Numbers::sEB(ism).c_str());
229  mea02_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
230  mea02_[ism-1]->setAxisTitle("channel", 1);
231  mea02_[ism-1]->setAxisTitle("amplitude", 2);
232  }
233  if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {
234  if ( mea03_[ism-1] ) dqmStore_->removeElement( mea03_[ism-1]->getName() );
235  sprintf(histo, "EBTPT test pulse amplitude G12 %s", Numbers::sEB(ism).c_str());
236  mea03_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
237  mea03_[ism-1]->setAxisTitle("channel", 1);
238  mea03_[ism-1]->setAxisTitle("amplitude", 2);
239  }
240 
241  if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 1) != MGPAGainsPN_.end() ) {
242  if ( mer04_[ism-1] ) dqmStore_->removeElement( mer04_[ism-1]->getName() );
243  sprintf(histo, "EBTPT PNs pedestal rms %s G01", Numbers::sEB(ism).c_str());
244  mer04_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
245  mer04_[ism-1]->setAxisTitle("rms", 1);
246  }
247  if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 16) != MGPAGainsPN_.end() ) {
248  if ( mer05_[ism-1] ) dqmStore_->removeElement( mer05_[ism-1]->getName() );
249  sprintf(histo, "EBTPT PNs pedestal rms %s G16", Numbers::sEB(ism).c_str());
250  mer05_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
251  mer05_[ism-1]->setAxisTitle("rms", 1);
252  }
253 
254  if (find(MGPAGains_.begin(), MGPAGains_.end(), 1) != MGPAGains_.end() ) {
255  if ( me_hs01_[ism-1] ) dqmStore_->removeElement( me_hs01_[ism-1]->getName() );
256  sprintf(histo, "EBTPT test pulse shape G01 %s", Numbers::sEB(ism).c_str());
257  me_hs01_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
258  me_hs01_[ism-1]->setAxisTitle("sample", 1);
259  me_hs01_[ism-1]->setAxisTitle("amplitude", 2);
260  }
261  if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {
262  if ( me_hs02_[ism-1] ) dqmStore_->removeElement( me_hs02_[ism-1]->getName() );
263  sprintf(histo, "EBTPT test pulse shape G06 %s", Numbers::sEB(ism).c_str());
264  me_hs02_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
265  me_hs02_[ism-1]->setAxisTitle("sample", 1);
266  me_hs02_[ism-1]->setAxisTitle("amplitude", 2);
267  }
268  if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {
269  if ( me_hs03_[ism-1] ) dqmStore_->removeElement( me_hs03_[ism-1]->getName() );
270  sprintf(histo, "EBTPT test pulse shape G12 %s", Numbers::sEB(ism).c_str());
271  me_hs03_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
272  me_hs03_[ism-1]->setAxisTitle("sample", 1);
273  me_hs03_[ism-1]->setAxisTitle("amplitude", 2);
274  }
275 
276  }
277 
278  for ( unsigned int i=0; i<superModules_.size(); i++ ) {
279 
280  int ism = superModules_[i];
281 
282  if ( meg01_[ism-1] ) meg01_[ism-1]->Reset();
283  if ( meg02_[ism-1] ) meg02_[ism-1]->Reset();
284  if ( meg03_[ism-1] ) meg03_[ism-1]->Reset();
285 
286  if ( meg04_[ism-1] ) meg04_[ism-1]->Reset();
287  if ( meg05_[ism-1] ) meg05_[ism-1]->Reset();
288 
289  for ( int ie = 1; ie <= 85; ie++ ) {
290  for ( int ip = 1; ip <= 20; ip++ ) {
291 
292  if ( meg01_[ism-1] ) meg01_[ism-1]->setBinContent( ie, ip, 2. );
293  if ( meg02_[ism-1] ) meg02_[ism-1]->setBinContent( ie, ip, 2. );
294  if ( meg03_[ism-1] ) meg03_[ism-1]->setBinContent( ie, ip, 2. );
295 
296  }
297  }
298 
299  for ( int i = 1; i <= 10; i++ ) {
300 
301  if ( meg04_[ism-1] ) meg04_[ism-1]->setBinContent( i, 1, 2. );
302  if ( meg05_[ism-1] ) meg05_[ism-1]->setBinContent( i, 1, 2. );
303 
304  }
305 
306  if ( mea01_[ism-1] ) mea01_[ism-1]->Reset();
307  if ( mea02_[ism-1] ) mea02_[ism-1]->Reset();
308  if ( mea03_[ism-1] ) mea03_[ism-1]->Reset();
309 
310  if ( mer04_[ism-1] ) mer04_[ism-1]->Reset();
311  if ( mer05_[ism-1] ) mer05_[ism-1]->Reset();
312 
313  if ( me_hs01_[ism-1] ) me_hs01_[ism-1]->Reset();
314  if ( me_hs02_[ism-1] ) me_hs02_[ism-1]->Reset();
315  if ( me_hs03_[ism-1] ) me_hs03_[ism-1]->Reset();
316 
317  }
318 
319 }
int i
Definition: DBlmapReader.cc:9
void setBinContent(int binx, double content)
set content of bin (1-D)
static std::string sEB(const int ism)
Definition: Numbers.cc:81
MonitorElement * meg05_[36]
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:519
MonitorElement * meg03_[36]
MonitorElement * mea01_[36]
MonitorElement * me_hs03_[36]
MonitorElement * meg02_[36]
MonitorElement * mer05_[36]
tuple histo
Definition: trackerHits.py:12
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
MonitorElement * mea03_[36]
MonitorElement * mea02_[36]
std::vector< int > MGPAGainsPN_
std::vector< int > MGPAGains_
void removeElement(const std::string &name)
Definition: DQMStore.cc:2338
MonitorElement * meg04_[36]
std::string getName(Reflex::Type &cc)
Definition: ClassFiller.cc:18
MonitorElement * me_hs02_[36]
std::vector< int > superModules_
MonitorElement * mer04_[36]
MonitorElement * me_hs01_[36]
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
MonitorElement * meg01_[36]
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:47
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void Reset(void)
reset ME (ie. contents, errors, etc)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237

Friends And Related Function Documentation

friend class EBSummaryClient
friend

Definition at line 35 of file EBTestPulseClient.h.

Member Data Documentation

float EBTestPulseClient::amplitudeThreshold_
private

Definition at line 130 of file EBTestPulseClient.h.

Referenced by analyze(), and EBTestPulseClient().

float EBTestPulseClient::amplitudeThresholdPnG01_
private

Definition at line 134 of file EBTestPulseClient.h.

Referenced by analyze(), and EBTestPulseClient().

float EBTestPulseClient::amplitudeThresholdPnG16_
private

Definition at line 135 of file EBTestPulseClient.h.

Referenced by analyze(), and EBTestPulseClient().

bool EBTestPulseClient::cloneME_
private

Definition at line 80 of file EBTestPulseClient.h.

Referenced by analyze(), cleanup(), and EBTestPulseClient().

bool EBTestPulseClient::debug_
private

Definition at line 83 of file EBTestPulseClient.h.

Referenced by analyze(), beginJob(), beginRun(), EBTestPulseClient(), endJob(), and endRun().

DQMStore* EBTestPulseClient::dqmStore_
private

Definition at line 93 of file EBTestPulseClient.h.

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

bool EBTestPulseClient::enableCleanup_
private

Definition at line 87 of file EBTestPulseClient.h.

Referenced by cleanup(), and EBTestPulseClient().

TProfile2D* EBTestPulseClient::ha01_[36]
private

Definition at line 95 of file EBTestPulseClient.h.

Referenced by analyze(), cleanup(), and EBTestPulseClient().

TProfile2D* EBTestPulseClient::ha02_[36]
private

Definition at line 96 of file EBTestPulseClient.h.

Referenced by analyze(), cleanup(), and EBTestPulseClient().

TProfile2D* EBTestPulseClient::ha03_[36]
private

Definition at line 97 of file EBTestPulseClient.h.

Referenced by analyze(), cleanup(), and EBTestPulseClient().

TProfile2D* EBTestPulseClient::hs01_[36]
private

Definition at line 99 of file EBTestPulseClient.h.

Referenced by analyze(), cleanup(), and EBTestPulseClient().

TProfile2D* EBTestPulseClient::hs02_[36]
private

Definition at line 100 of file EBTestPulseClient.h.

Referenced by analyze(), cleanup(), and EBTestPulseClient().

TProfile2D* EBTestPulseClient::hs03_[36]
private

Definition at line 101 of file EBTestPulseClient.h.

Referenced by analyze(), cleanup(), and EBTestPulseClient().

TProfile* EBTestPulseClient::i01_[36]
private

Definition at line 121 of file EBTestPulseClient.h.

Referenced by analyze(), cleanup(), and EBTestPulseClient().

TProfile* EBTestPulseClient::i02_[36]
private

Definition at line 122 of file EBTestPulseClient.h.

Referenced by analyze(), cleanup(), and EBTestPulseClient().

TProfile* EBTestPulseClient::i03_[36]
private

Definition at line 123 of file EBTestPulseClient.h.

Referenced by analyze(), cleanup(), and EBTestPulseClient().

TProfile* EBTestPulseClient::i04_[36]
private

Definition at line 124 of file EBTestPulseClient.h.

Referenced by analyze(), cleanup(), and EBTestPulseClient().

int EBTestPulseClient::ievt_
private

Definition at line 77 of file EBTestPulseClient.h.

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

int EBTestPulseClient::jevt_
private

Definition at line 78 of file EBTestPulseClient.h.

Referenced by analyze(), beginJob(), beginRun(), endRun(), and getEvtPerRun().

MonitorElement* EBTestPulseClient::me_hs01_[36]
private

Definition at line 117 of file EBTestPulseClient.h.

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

MonitorElement* EBTestPulseClient::me_hs02_[36]
private

Definition at line 118 of file EBTestPulseClient.h.

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

MonitorElement* EBTestPulseClient::me_hs03_[36]
private

Definition at line 119 of file EBTestPulseClient.h.

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

MonitorElement* EBTestPulseClient::mea01_[36]
private
MonitorElement* EBTestPulseClient::mea02_[36]
private
MonitorElement* EBTestPulseClient::mea03_[36]
private
MonitorElement* EBTestPulseClient::meg01_[36]
private
MonitorElement* EBTestPulseClient::meg02_[36]
private
MonitorElement* EBTestPulseClient::meg03_[36]
private
MonitorElement* EBTestPulseClient::meg04_[36]
private
MonitorElement* EBTestPulseClient::meg05_[36]
private
MonitorElement* EBTestPulseClient::mer04_[36]
private

Definition at line 114 of file EBTestPulseClient.h.

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

MonitorElement* EBTestPulseClient::mer05_[36]
private

Definition at line 115 of file EBTestPulseClient.h.

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

std::vector<int> EBTestPulseClient::MGPAGains_
private

Definition at line 90 of file EBTestPulseClient.h.

Referenced by analyze(), EBTestPulseClient(), and setup().

std::vector<int> EBTestPulseClient::MGPAGainsPN_
private

Definition at line 91 of file EBTestPulseClient.h.

Referenced by analyze(), EBTestPulseClient(), and setup().

float EBTestPulseClient::pedPnDiscrepancyMean_[2]
private

Definition at line 137 of file EBTestPulseClient.h.

Referenced by analyze(), and EBTestPulseClient().

float EBTestPulseClient::pedPnExpectedMean_[2]
private

Definition at line 136 of file EBTestPulseClient.h.

Referenced by analyze(), and EBTestPulseClient().

float EBTestPulseClient::pedPnRMSThreshold_[2]
private

Definition at line 138 of file EBTestPulseClient.h.

Referenced by analyze(), and EBTestPulseClient().

float EBTestPulseClient::percentVariation_
private

Definition at line 128 of file EBTestPulseClient.h.

Referenced by analyze(), and EBTestPulseClient().

std::string EBTestPulseClient::prefixME_
private

Definition at line 85 of file EBTestPulseClient.h.

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

float EBTestPulseClient::RMSThreshold_
private

Definition at line 129 of file EBTestPulseClient.h.

Referenced by analyze(), and EBTestPulseClient().

std::vector<int> EBTestPulseClient::superModules_
private

Definition at line 89 of file EBTestPulseClient.h.

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

bool EBTestPulseClient::verbose_
private

Definition at line 82 of file EBTestPulseClient.h.

Referenced by EBTestPulseClient().