22 #ifdef WITH_ECAL_COND_DB
145 sprintf(histo,
"EEBCT quality");
150 for (
int ie = 1; ie <= 85; ie++ ) {
151 for (
int ip = 1; ip <= 20; ip++ ) {
159 sprintf(histo,
"EEBCT quality read crystal errors");
165 sprintf(histo,
"EEBCT quality entries or read crystals errors");
235 #ifdef WITH_ECAL_COND_DB
243 std::map<EcalLogicID, MonOccupancyDat>
dataset;
254 const float n_min_tot = 1000.;
259 for (
int ie = 1; ie <= 85; ie++ ) {
260 for (
int ip = 1; ip <= 20; ip++ ) {
265 bool update_channel =
false;
269 update_channel =
true;
274 update_channel =
true;
279 int ic = (ip-1) + 20*(ie-1) + 1;
282 if( step > 0 && step < 86) {
287 if ( update_channel ) {
293 std::cout <<
"CryOnBeam (" << ie <<
"," << ip <<
") " << num01 << std::endl;
294 std::cout <<
"MaxEneCry (" << ie <<
"," << ip <<
") " << num02 << std::endl;
295 std::cout <<
"E1 (" << ie <<
"," << ip <<
") " << mean01 << std::endl;
323 }
catch (std::runtime_error &
e) {
337 if (
ievt_ % 10 == 0 ) {
346 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT crystals done").c_str());
352 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT crystal on beam").c_str());
358 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT all needed crystals readout").c_str());
363 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT readout crystals number").c_str());
369 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT rec Ene sum 3x3").c_str());
375 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT readout crystals errors").c_str());
381 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT rec energy cry 5").c_str());
386 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT crystal with maximum rec energy").c_str());
390 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT average rec energy in the 3x3 array").c_str());
394 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT average rec energy in the single crystal").c_str());
398 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT number of entries").c_str());
402 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT energy deposition in the 3x3").c_str());
406 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT table is moving").c_str());
410 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT crystal in beam vs event").c_str());
414 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT E1 in the max cry").c_str());
418 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT Desynchronization vs step").c_str());
423 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT pulse profile in G12 cry %01d").c_str(), ind+1);
427 sprintf(histo, (
prefixME_ +
"/EEBeamCaloTask/EEBCT found gains cry %01d").c_str(), ind+1);
434 for(
int cry=1 ; cry<1701 ; cry ++) {
435 int step = (int)
hBcryDone_->GetBinContent(cry);
438 float E3x3RMS = -1, E3x3 =-1, E1=-1;
447 bool RMS3x3 = ( E3x3RMS < RMSEne3x3_ && E3x3RMS >= 0 );
450 int ieta = ( cry - 1)/20 + 1 ;
451 int iphi = ( cry - 1)%20 + 1 ;
453 if(ieta >0 && iphi >0 ) {
462 bool readCryOk =
true;
465 if ( step_bin > 0 && step_bin < hBReadCryErrors_->GetNbinsX() ) {
467 else {readCryOk =
false;}
490 for (
int b_eta =1; b_eta<86; b_eta++) {
491 for (
int b_phi =1; b_phi<21; b_phi++) {
493 if(bc > found) { found =bc; ieta = b_eta; iphi= b_phi;}
496 if(ieta >0 && iphi >0 ) {
void beginRun(void)
BeginRun.
Cache logicID vector from database.
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
TH1F * hBGains_[cryInArray_]
MonitorElement * meEEBCaloRedGreenSteps_
void setBinContent(int binx, double content)
set content of bin (1-D)
std::vector< int > superModules_
void setAvgEnergy(float energy)
Some "id" conversions.
void setEventsOverLowThreshold(int events)
static std::string sEE(const int ism)
void cleanup(void)
Cleanup.
TProfile * hBpulse_[cryInArray_]
static int icEB(const int ism, const int ix, const int iy)
virtual ~EEBeamCaloClient()
Destructor.
EEBeamCaloClient(const edm::ParameterSet &ps)
Constructor.
void analyze(void)
Analyze.
void removeElement(const std::string &name)
MonitorElement * meEEBCaloRedGreen_
TProfile * pBCriInBeamEvents_
void beginJob(void)
BeginJob.
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
Ecal Monitor Utils for Client.
static const int cryInArray_
std::vector< int > checkedSteps_
double getBinContent(int binx) const
get content of bin (1-D)
void setEventsOverHighThreshold(int events)
void insertDataArraySet(const std::map< EcalLogicID, DATT > *data, IOVT *iov)
MonitorElement * meEEBCaloRedGreenReadCry_
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
static EcalLogicID getEcalLogicID(const char *name, const int id1=EcalLogicID::NULLID, const int id2=EcalLogicID::NULLID, const int id3=EcalLogicID::NULLID)
int ism(int ieta, int iphi)
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)