Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:39:21

0001 /** \file LaserDQM.cc
0002  *  DQM Monitors for Laser Alignment System
0003  *
0004  *  $Date: 2009/12/14 22:21:46 $
0005  *  $Revision: 1.7 $
0006  *  \author Maarten Thomas
0007  */
0008 
0009 #include "Alignment/LaserDQM/plugins/LaserDQM.h"
0010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0011 
0012 #include "FWCore/Framework/interface/MakerMacros.h"
0013 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0014 #include "FWCore/ServiceRegistry/interface/Service.h"
0015 
0016 LaserDQM::LaserDQM(edm::ParameterSet const &theConf)
0017     : tTopoToken(esConsumes()),
0018       tGeoToken(esConsumes()),
0019       theDebugLevel(theConf.getUntrackedParameter<int>("DebugLevel", 0)),
0020       theSearchPhiTIB(theConf.getUntrackedParameter<double>("SearchWindowPhiTIB", 0.05)),
0021       theSearchPhiTOB(theConf.getUntrackedParameter<double>("SearchWindowPhiTOB", 0.05)),
0022       theSearchPhiTEC(theConf.getUntrackedParameter<double>("SearchWindowPhiTEC", 0.05)),
0023       theSearchZTIB(theConf.getUntrackedParameter<double>("SearchWindowZTIB", 1.0)),
0024       theSearchZTOB(theConf.getUntrackedParameter<double>("SearchWindowZTOB", 1.0)),
0025       theDigiProducersList(theConf.getParameter<Parameters>("DigiProducersList")),
0026       theDQMFileName(theConf.getUntrackedParameter<std::string>("DQMFileName", "testDQM.root")),
0027       theDaqMonitorBEI(),
0028       theMEBeam0Ring4Disc1PosAdcCounts(nullptr),
0029       theMEBeam0Ring4Disc2PosAdcCounts(nullptr),
0030       theMEBeam0Ring4Disc3PosAdcCounts(nullptr),
0031       theMEBeam0Ring4Disc4PosAdcCounts(nullptr),
0032       theMEBeam0Ring4Disc5PosAdcCounts(nullptr),
0033       theMEBeam0Ring4Disc6PosAdcCounts(nullptr),
0034       theMEBeam0Ring4Disc7PosAdcCounts(nullptr),
0035       theMEBeam0Ring4Disc8PosAdcCounts(nullptr),
0036       theMEBeam0Ring4Disc9PosAdcCounts(nullptr),
0037       // Adc counts for Beam 1 in Ring 4
0038       theMEBeam1Ring4Disc1PosAdcCounts(nullptr),
0039       theMEBeam1Ring4Disc2PosAdcCounts(nullptr),
0040       theMEBeam1Ring4Disc3PosAdcCounts(nullptr),
0041       theMEBeam1Ring4Disc4PosAdcCounts(nullptr),
0042       theMEBeam1Ring4Disc5PosAdcCounts(nullptr),
0043       theMEBeam1Ring4Disc6PosAdcCounts(nullptr),
0044       theMEBeam1Ring4Disc7PosAdcCounts(nullptr),
0045       theMEBeam1Ring4Disc8PosAdcCounts(nullptr),
0046       theMEBeam1Ring4Disc9PosAdcCounts(nullptr),
0047       // plots for TEC2TEC
0048       theMEBeam1Ring4Disc1PosTEC2TECAdcCounts(nullptr),
0049       theMEBeam1Ring4Disc2PosTEC2TECAdcCounts(nullptr),
0050       theMEBeam1Ring4Disc3PosTEC2TECAdcCounts(nullptr),
0051       theMEBeam1Ring4Disc4PosTEC2TECAdcCounts(nullptr),
0052       theMEBeam1Ring4Disc5PosTEC2TECAdcCounts(nullptr),
0053       // Adc counts for Beam 2 in Ring 4
0054       theMEBeam2Ring4Disc1PosAdcCounts(nullptr),
0055       theMEBeam2Ring4Disc2PosAdcCounts(nullptr),
0056       theMEBeam2Ring4Disc3PosAdcCounts(nullptr),
0057       theMEBeam2Ring4Disc4PosAdcCounts(nullptr),
0058       theMEBeam2Ring4Disc5PosAdcCounts(nullptr),
0059       theMEBeam2Ring4Disc6PosAdcCounts(nullptr),
0060       theMEBeam2Ring4Disc7PosAdcCounts(nullptr),
0061       theMEBeam2Ring4Disc8PosAdcCounts(nullptr),
0062       theMEBeam2Ring4Disc9PosAdcCounts(nullptr),
0063       // plots for TEC2TEC
0064       theMEBeam2Ring4Disc1PosTEC2TECAdcCounts(nullptr),
0065       theMEBeam2Ring4Disc2PosTEC2TECAdcCounts(nullptr),
0066       theMEBeam2Ring4Disc3PosTEC2TECAdcCounts(nullptr),
0067       theMEBeam2Ring4Disc4PosTEC2TECAdcCounts(nullptr),
0068       theMEBeam2Ring4Disc5PosTEC2TECAdcCounts(nullptr),
0069       // Adc counts for Beam 3 in Ring 4
0070       theMEBeam3Ring4Disc1PosAdcCounts(nullptr),
0071       theMEBeam3Ring4Disc2PosAdcCounts(nullptr),
0072       theMEBeam3Ring4Disc3PosAdcCounts(nullptr),
0073       theMEBeam3Ring4Disc4PosAdcCounts(nullptr),
0074       theMEBeam3Ring4Disc5PosAdcCounts(nullptr),
0075       theMEBeam3Ring4Disc6PosAdcCounts(nullptr),
0076       theMEBeam3Ring4Disc7PosAdcCounts(nullptr),
0077       theMEBeam3Ring4Disc8PosAdcCounts(nullptr),
0078       theMEBeam3Ring4Disc9PosAdcCounts(nullptr),
0079       // Adc counts for Beam 4 in Ring 4
0080       theMEBeam4Ring4Disc1PosAdcCounts(nullptr),
0081       theMEBeam4Ring4Disc2PosAdcCounts(nullptr),
0082       theMEBeam4Ring4Disc3PosAdcCounts(nullptr),
0083       theMEBeam4Ring4Disc4PosAdcCounts(nullptr),
0084       theMEBeam4Ring4Disc5PosAdcCounts(nullptr),
0085       theMEBeam4Ring4Disc6PosAdcCounts(nullptr),
0086       theMEBeam4Ring4Disc7PosAdcCounts(nullptr),
0087       theMEBeam4Ring4Disc8PosAdcCounts(nullptr),
0088       theMEBeam4Ring4Disc9PosAdcCounts(nullptr),
0089       // plots for TEC2TEC
0090       theMEBeam4Ring4Disc1PosTEC2TECAdcCounts(nullptr),
0091       theMEBeam4Ring4Disc2PosTEC2TECAdcCounts(nullptr),
0092       theMEBeam4Ring4Disc3PosTEC2TECAdcCounts(nullptr),
0093       theMEBeam4Ring4Disc4PosTEC2TECAdcCounts(nullptr),
0094       theMEBeam4Ring4Disc5PosTEC2TECAdcCounts(nullptr),
0095       // Adc counts for Beam 5 in Ring 4
0096       theMEBeam5Ring4Disc1PosAdcCounts(nullptr),
0097       theMEBeam5Ring4Disc2PosAdcCounts(nullptr),
0098       theMEBeam5Ring4Disc3PosAdcCounts(nullptr),
0099       theMEBeam5Ring4Disc4PosAdcCounts(nullptr),
0100       theMEBeam5Ring4Disc5PosAdcCounts(nullptr),
0101       theMEBeam5Ring4Disc6PosAdcCounts(nullptr),
0102       theMEBeam5Ring4Disc7PosAdcCounts(nullptr),
0103       theMEBeam5Ring4Disc8PosAdcCounts(nullptr),
0104       theMEBeam5Ring4Disc9PosAdcCounts(nullptr),
0105       // Adc counts for Beam 6 in Ring 4
0106       theMEBeam6Ring4Disc1PosAdcCounts(nullptr),
0107       theMEBeam6Ring4Disc2PosAdcCounts(nullptr),
0108       theMEBeam6Ring4Disc3PosAdcCounts(nullptr),
0109       theMEBeam6Ring4Disc4PosAdcCounts(nullptr),
0110       theMEBeam6Ring4Disc5PosAdcCounts(nullptr),
0111       theMEBeam6Ring4Disc6PosAdcCounts(nullptr),
0112       theMEBeam6Ring4Disc7PosAdcCounts(nullptr),
0113       theMEBeam6Ring4Disc8PosAdcCounts(nullptr),
0114       theMEBeam6Ring4Disc9PosAdcCounts(nullptr),
0115       // plots for TEC2TEC
0116       theMEBeam6Ring4Disc1PosTEC2TECAdcCounts(nullptr),
0117       theMEBeam6Ring4Disc2PosTEC2TECAdcCounts(nullptr),
0118       theMEBeam6Ring4Disc3PosTEC2TECAdcCounts(nullptr),
0119       theMEBeam6Ring4Disc4PosTEC2TECAdcCounts(nullptr),
0120       theMEBeam6Ring4Disc5PosTEC2TECAdcCounts(nullptr),
0121       // Adc counts for Beam 7 in Ring 4
0122       theMEBeam7Ring4Disc1PosAdcCounts(nullptr),
0123       theMEBeam7Ring4Disc2PosAdcCounts(nullptr),
0124       theMEBeam7Ring4Disc3PosAdcCounts(nullptr),
0125       theMEBeam7Ring4Disc4PosAdcCounts(nullptr),
0126       theMEBeam7Ring4Disc5PosAdcCounts(nullptr),
0127       theMEBeam7Ring4Disc6PosAdcCounts(nullptr),
0128       theMEBeam7Ring4Disc7PosAdcCounts(nullptr),
0129       theMEBeam7Ring4Disc8PosAdcCounts(nullptr),
0130       theMEBeam7Ring4Disc9PosAdcCounts(nullptr),
0131       // plots for TEC2TEC
0132       theMEBeam7Ring4Disc1PosTEC2TECAdcCounts(nullptr),
0133       theMEBeam7Ring4Disc2PosTEC2TECAdcCounts(nullptr),
0134       theMEBeam7Ring4Disc3PosTEC2TECAdcCounts(nullptr),
0135       theMEBeam7Ring4Disc4PosTEC2TECAdcCounts(nullptr),
0136       theMEBeam7Ring4Disc5PosTEC2TECAdcCounts(nullptr),
0137       // Adc counts for Beam 0 in Ring 6
0138       theMEBeam0Ring6Disc1PosAdcCounts(nullptr),
0139       theMEBeam0Ring6Disc2PosAdcCounts(nullptr),
0140       theMEBeam0Ring6Disc3PosAdcCounts(nullptr),
0141       theMEBeam0Ring6Disc4PosAdcCounts(nullptr),
0142       theMEBeam0Ring6Disc5PosAdcCounts(nullptr),
0143       theMEBeam0Ring6Disc6PosAdcCounts(nullptr),
0144       theMEBeam0Ring6Disc7PosAdcCounts(nullptr),
0145       theMEBeam0Ring6Disc8PosAdcCounts(nullptr),
0146       theMEBeam0Ring6Disc9PosAdcCounts(nullptr),
0147       // Adc counts for Beam 1 in Ring 6
0148       theMEBeam1Ring6Disc1PosAdcCounts(nullptr),
0149       theMEBeam1Ring6Disc2PosAdcCounts(nullptr),
0150       theMEBeam1Ring6Disc3PosAdcCounts(nullptr),
0151       theMEBeam1Ring6Disc4PosAdcCounts(nullptr),
0152       theMEBeam1Ring6Disc5PosAdcCounts(nullptr),
0153       theMEBeam1Ring6Disc6PosAdcCounts(nullptr),
0154       theMEBeam1Ring6Disc7PosAdcCounts(nullptr),
0155       theMEBeam1Ring6Disc8PosAdcCounts(nullptr),
0156       theMEBeam1Ring6Disc9PosAdcCounts(nullptr),
0157       // Adc counts for Beam 2 in Ring 6
0158       theMEBeam2Ring6Disc1PosAdcCounts(nullptr),
0159       theMEBeam2Ring6Disc2PosAdcCounts(nullptr),
0160       theMEBeam2Ring6Disc3PosAdcCounts(nullptr),
0161       theMEBeam2Ring6Disc4PosAdcCounts(nullptr),
0162       theMEBeam2Ring6Disc5PosAdcCounts(nullptr),
0163       theMEBeam2Ring6Disc6PosAdcCounts(nullptr),
0164       theMEBeam2Ring6Disc7PosAdcCounts(nullptr),
0165       theMEBeam2Ring6Disc8PosAdcCounts(nullptr),
0166       theMEBeam2Ring6Disc9PosAdcCounts(nullptr),
0167       // Adc counts for Beam 3 in Ring 6
0168       theMEBeam3Ring6Disc1PosAdcCounts(nullptr),
0169       theMEBeam3Ring6Disc2PosAdcCounts(nullptr),
0170       theMEBeam3Ring6Disc3PosAdcCounts(nullptr),
0171       theMEBeam3Ring6Disc4PosAdcCounts(nullptr),
0172       theMEBeam3Ring6Disc5PosAdcCounts(nullptr),
0173       theMEBeam3Ring6Disc6PosAdcCounts(nullptr),
0174       theMEBeam3Ring6Disc7PosAdcCounts(nullptr),
0175       theMEBeam3Ring6Disc8PosAdcCounts(nullptr),
0176       theMEBeam3Ring6Disc9PosAdcCounts(nullptr),
0177       // Adc counts for Beam 4 in Ring 6
0178       theMEBeam4Ring6Disc1PosAdcCounts(nullptr),
0179       theMEBeam4Ring6Disc2PosAdcCounts(nullptr),
0180       theMEBeam4Ring6Disc3PosAdcCounts(nullptr),
0181       theMEBeam4Ring6Disc4PosAdcCounts(nullptr),
0182       theMEBeam4Ring6Disc5PosAdcCounts(nullptr),
0183       theMEBeam4Ring6Disc6PosAdcCounts(nullptr),
0184       theMEBeam4Ring6Disc7PosAdcCounts(nullptr),
0185       theMEBeam4Ring6Disc8PosAdcCounts(nullptr),
0186       theMEBeam4Ring6Disc9PosAdcCounts(nullptr),
0187       // Adc counts for Beam 5 in Ring 6
0188       theMEBeam5Ring6Disc1PosAdcCounts(nullptr),
0189       theMEBeam5Ring6Disc2PosAdcCounts(nullptr),
0190       theMEBeam5Ring6Disc3PosAdcCounts(nullptr),
0191       theMEBeam5Ring6Disc4PosAdcCounts(nullptr),
0192       theMEBeam5Ring6Disc5PosAdcCounts(nullptr),
0193       theMEBeam5Ring6Disc6PosAdcCounts(nullptr),
0194       theMEBeam5Ring6Disc7PosAdcCounts(nullptr),
0195       theMEBeam5Ring6Disc8PosAdcCounts(nullptr),
0196       theMEBeam5Ring6Disc9PosAdcCounts(nullptr),
0197       // Adc counts for Beam 6 in Ring 6
0198       theMEBeam6Ring6Disc1PosAdcCounts(nullptr),
0199       theMEBeam6Ring6Disc2PosAdcCounts(nullptr),
0200       theMEBeam6Ring6Disc3PosAdcCounts(nullptr),
0201       theMEBeam6Ring6Disc4PosAdcCounts(nullptr),
0202       theMEBeam6Ring6Disc5PosAdcCounts(nullptr),
0203       theMEBeam6Ring6Disc6PosAdcCounts(nullptr),
0204       theMEBeam6Ring6Disc7PosAdcCounts(nullptr),
0205       theMEBeam6Ring6Disc8PosAdcCounts(nullptr),
0206       theMEBeam6Ring6Disc9PosAdcCounts(nullptr),
0207       // Adc counts for Beam 7 in Ring 6
0208       theMEBeam7Ring6Disc1PosAdcCounts(nullptr),
0209       theMEBeam7Ring6Disc2PosAdcCounts(nullptr),
0210       theMEBeam7Ring6Disc3PosAdcCounts(nullptr),
0211       theMEBeam7Ring6Disc4PosAdcCounts(nullptr),
0212       theMEBeam7Ring6Disc5PosAdcCounts(nullptr),
0213       theMEBeam7Ring6Disc6PosAdcCounts(nullptr),
0214       theMEBeam7Ring6Disc7PosAdcCounts(nullptr),
0215       theMEBeam7Ring6Disc8PosAdcCounts(nullptr),
0216       theMEBeam7Ring6Disc9PosAdcCounts(nullptr),
0217       /* Laser Beams in TEC- */
0218       // Adc counts for Beam 0 in Ring 4
0219       theMEBeam0Ring4Disc1NegAdcCounts(nullptr),
0220       theMEBeam0Ring4Disc2NegAdcCounts(nullptr),
0221       theMEBeam0Ring4Disc3NegAdcCounts(nullptr),
0222       theMEBeam0Ring4Disc4NegAdcCounts(nullptr),
0223       theMEBeam0Ring4Disc5NegAdcCounts(nullptr),
0224       theMEBeam0Ring4Disc6NegAdcCounts(nullptr),
0225       theMEBeam0Ring4Disc7NegAdcCounts(nullptr),
0226       theMEBeam0Ring4Disc8NegAdcCounts(nullptr),
0227       theMEBeam0Ring4Disc9NegAdcCounts(nullptr),
0228       // Adc counts for Beam 1 in Ring 4
0229       theMEBeam1Ring4Disc1NegAdcCounts(nullptr),
0230       theMEBeam1Ring4Disc2NegAdcCounts(nullptr),
0231       theMEBeam1Ring4Disc3NegAdcCounts(nullptr),
0232       theMEBeam1Ring4Disc4NegAdcCounts(nullptr),
0233       theMEBeam1Ring4Disc5NegAdcCounts(nullptr),
0234       theMEBeam1Ring4Disc6NegAdcCounts(nullptr),
0235       theMEBeam1Ring4Disc7NegAdcCounts(nullptr),
0236       theMEBeam1Ring4Disc8NegAdcCounts(nullptr),
0237       theMEBeam1Ring4Disc9NegAdcCounts(nullptr),
0238       // plots for TEC2TEC
0239       theMEBeam1Ring4Disc1NegTEC2TECAdcCounts(nullptr),
0240       theMEBeam1Ring4Disc2NegTEC2TECAdcCounts(nullptr),
0241       theMEBeam1Ring4Disc3NegTEC2TECAdcCounts(nullptr),
0242       theMEBeam1Ring4Disc4NegTEC2TECAdcCounts(nullptr),
0243       theMEBeam1Ring4Disc5NegTEC2TECAdcCounts(nullptr),
0244       // Adc counts for Beam 2 in Ring 4
0245       theMEBeam2Ring4Disc1NegAdcCounts(nullptr),
0246       theMEBeam2Ring4Disc2NegAdcCounts(nullptr),
0247       theMEBeam2Ring4Disc3NegAdcCounts(nullptr),
0248       theMEBeam2Ring4Disc4NegAdcCounts(nullptr),
0249       theMEBeam2Ring4Disc5NegAdcCounts(nullptr),
0250       theMEBeam2Ring4Disc6NegAdcCounts(nullptr),
0251       theMEBeam2Ring4Disc7NegAdcCounts(nullptr),
0252       theMEBeam2Ring4Disc8NegAdcCounts(nullptr),
0253       theMEBeam2Ring4Disc9NegAdcCounts(nullptr),
0254       // plots for TEC2TEC
0255       theMEBeam2Ring4Disc1NegTEC2TECAdcCounts(nullptr),
0256       theMEBeam2Ring4Disc2NegTEC2TECAdcCounts(nullptr),
0257       theMEBeam2Ring4Disc3NegTEC2TECAdcCounts(nullptr),
0258       theMEBeam2Ring4Disc4NegTEC2TECAdcCounts(nullptr),
0259       theMEBeam2Ring4Disc5NegTEC2TECAdcCounts(nullptr),
0260       // Adc counts for Beam 3 in Ring 4
0261       theMEBeam3Ring4Disc1NegAdcCounts(nullptr),
0262       theMEBeam3Ring4Disc2NegAdcCounts(nullptr),
0263       theMEBeam3Ring4Disc3NegAdcCounts(nullptr),
0264       theMEBeam3Ring4Disc4NegAdcCounts(nullptr),
0265       theMEBeam3Ring4Disc5NegAdcCounts(nullptr),
0266       theMEBeam3Ring4Disc6NegAdcCounts(nullptr),
0267       theMEBeam3Ring4Disc7NegAdcCounts(nullptr),
0268       theMEBeam3Ring4Disc8NegAdcCounts(nullptr),
0269       theMEBeam3Ring4Disc9NegAdcCounts(nullptr),
0270       // Adc counts for Beam 4 in Ring 4
0271       theMEBeam4Ring4Disc1NegAdcCounts(nullptr),
0272       theMEBeam4Ring4Disc2NegAdcCounts(nullptr),
0273       theMEBeam4Ring4Disc3NegAdcCounts(nullptr),
0274       theMEBeam4Ring4Disc4NegAdcCounts(nullptr),
0275       theMEBeam4Ring4Disc5NegAdcCounts(nullptr),
0276       theMEBeam4Ring4Disc6NegAdcCounts(nullptr),
0277       theMEBeam4Ring4Disc7NegAdcCounts(nullptr),
0278       theMEBeam4Ring4Disc8NegAdcCounts(nullptr),
0279       theMEBeam4Ring4Disc9NegAdcCounts(nullptr),
0280       // plots for TEC2TEC
0281       theMEBeam4Ring4Disc1NegTEC2TECAdcCounts(nullptr),
0282       theMEBeam4Ring4Disc2NegTEC2TECAdcCounts(nullptr),
0283       theMEBeam4Ring4Disc3NegTEC2TECAdcCounts(nullptr),
0284       theMEBeam4Ring4Disc4NegTEC2TECAdcCounts(nullptr),
0285       theMEBeam4Ring4Disc5NegTEC2TECAdcCounts(nullptr),
0286       // Adc counts for Beam 5 in Ring 4
0287       theMEBeam5Ring4Disc1NegAdcCounts(nullptr),
0288       theMEBeam5Ring4Disc2NegAdcCounts(nullptr),
0289       theMEBeam5Ring4Disc3NegAdcCounts(nullptr),
0290       theMEBeam5Ring4Disc4NegAdcCounts(nullptr),
0291       theMEBeam5Ring4Disc5NegAdcCounts(nullptr),
0292       theMEBeam5Ring4Disc6NegAdcCounts(nullptr),
0293       theMEBeam5Ring4Disc7NegAdcCounts(nullptr),
0294       theMEBeam5Ring4Disc8NegAdcCounts(nullptr),
0295       theMEBeam5Ring4Disc9NegAdcCounts(nullptr),
0296       // Adc counts for Beam 6 in Ring 4
0297       theMEBeam6Ring4Disc1NegAdcCounts(nullptr),
0298       theMEBeam6Ring4Disc2NegAdcCounts(nullptr),
0299       theMEBeam6Ring4Disc3NegAdcCounts(nullptr),
0300       theMEBeam6Ring4Disc4NegAdcCounts(nullptr),
0301       theMEBeam6Ring4Disc5NegAdcCounts(nullptr),
0302       theMEBeam6Ring4Disc6NegAdcCounts(nullptr),
0303       theMEBeam6Ring4Disc7NegAdcCounts(nullptr),
0304       theMEBeam6Ring4Disc8NegAdcCounts(nullptr),
0305       theMEBeam6Ring4Disc9NegAdcCounts(nullptr),
0306       // plots for TEC2TEC
0307       theMEBeam6Ring4Disc1NegTEC2TECAdcCounts(nullptr),
0308       theMEBeam6Ring4Disc2NegTEC2TECAdcCounts(nullptr),
0309       theMEBeam6Ring4Disc3NegTEC2TECAdcCounts(nullptr),
0310       theMEBeam6Ring4Disc4NegTEC2TECAdcCounts(nullptr),
0311       theMEBeam6Ring4Disc5NegTEC2TECAdcCounts(nullptr),
0312       // Adc counts for Beam 7 in Ring 4
0313       theMEBeam7Ring4Disc1NegAdcCounts(nullptr),
0314       theMEBeam7Ring4Disc2NegAdcCounts(nullptr),
0315       theMEBeam7Ring4Disc3NegAdcCounts(nullptr),
0316       theMEBeam7Ring4Disc4NegAdcCounts(nullptr),
0317       theMEBeam7Ring4Disc5NegAdcCounts(nullptr),
0318       theMEBeam7Ring4Disc6NegAdcCounts(nullptr),
0319       theMEBeam7Ring4Disc7NegAdcCounts(nullptr),
0320       theMEBeam7Ring4Disc8NegAdcCounts(nullptr),
0321       theMEBeam7Ring4Disc9NegAdcCounts(nullptr),
0322       // plots for TEC2TEC
0323       theMEBeam7Ring4Disc1NegTEC2TECAdcCounts(nullptr),
0324       theMEBeam7Ring4Disc2NegTEC2TECAdcCounts(nullptr),
0325       theMEBeam7Ring4Disc3NegTEC2TECAdcCounts(nullptr),
0326       theMEBeam7Ring4Disc4NegTEC2TECAdcCounts(nullptr),
0327       theMEBeam7Ring4Disc5NegTEC2TECAdcCounts(nullptr),
0328       // Adc counts for Beam 0 in Ring 6
0329       theMEBeam0Ring6Disc1NegAdcCounts(nullptr),
0330       theMEBeam0Ring6Disc2NegAdcCounts(nullptr),
0331       theMEBeam0Ring6Disc3NegAdcCounts(nullptr),
0332       theMEBeam0Ring6Disc4NegAdcCounts(nullptr),
0333       theMEBeam0Ring6Disc5NegAdcCounts(nullptr),
0334       theMEBeam0Ring6Disc6NegAdcCounts(nullptr),
0335       theMEBeam0Ring6Disc7NegAdcCounts(nullptr),
0336       theMEBeam0Ring6Disc8NegAdcCounts(nullptr),
0337       theMEBeam0Ring6Disc9NegAdcCounts(nullptr),
0338       // Adc counts for Beam 1 in Ring 6
0339       theMEBeam1Ring6Disc1NegAdcCounts(nullptr),
0340       theMEBeam1Ring6Disc2NegAdcCounts(nullptr),
0341       theMEBeam1Ring6Disc3NegAdcCounts(nullptr),
0342       theMEBeam1Ring6Disc4NegAdcCounts(nullptr),
0343       theMEBeam1Ring6Disc5NegAdcCounts(nullptr),
0344       theMEBeam1Ring6Disc6NegAdcCounts(nullptr),
0345       theMEBeam1Ring6Disc7NegAdcCounts(nullptr),
0346       theMEBeam1Ring6Disc8NegAdcCounts(nullptr),
0347       theMEBeam1Ring6Disc9NegAdcCounts(nullptr),
0348       // Adc counts for Beam 2 in Ring 6
0349       theMEBeam2Ring6Disc1NegAdcCounts(nullptr),
0350       theMEBeam2Ring6Disc2NegAdcCounts(nullptr),
0351       theMEBeam2Ring6Disc3NegAdcCounts(nullptr),
0352       theMEBeam2Ring6Disc4NegAdcCounts(nullptr),
0353       theMEBeam2Ring6Disc5NegAdcCounts(nullptr),
0354       theMEBeam2Ring6Disc6NegAdcCounts(nullptr),
0355       theMEBeam2Ring6Disc7NegAdcCounts(nullptr),
0356       theMEBeam2Ring6Disc8NegAdcCounts(nullptr),
0357       theMEBeam2Ring6Disc9NegAdcCounts(nullptr),
0358       // Adc counts for Beam 3 in Ring 6
0359       theMEBeam3Ring6Disc1NegAdcCounts(nullptr),
0360       theMEBeam3Ring6Disc2NegAdcCounts(nullptr),
0361       theMEBeam3Ring6Disc3NegAdcCounts(nullptr),
0362       theMEBeam3Ring6Disc4NegAdcCounts(nullptr),
0363       theMEBeam3Ring6Disc5NegAdcCounts(nullptr),
0364       theMEBeam3Ring6Disc6NegAdcCounts(nullptr),
0365       theMEBeam3Ring6Disc7NegAdcCounts(nullptr),
0366       theMEBeam3Ring6Disc8NegAdcCounts(nullptr),
0367       theMEBeam3Ring6Disc9NegAdcCounts(nullptr),
0368       // Adc counts for Beam 4 in Ring 6
0369       theMEBeam4Ring6Disc1NegAdcCounts(nullptr),
0370       theMEBeam4Ring6Disc2NegAdcCounts(nullptr),
0371       theMEBeam4Ring6Disc3NegAdcCounts(nullptr),
0372       theMEBeam4Ring6Disc4NegAdcCounts(nullptr),
0373       theMEBeam4Ring6Disc5NegAdcCounts(nullptr),
0374       theMEBeam4Ring6Disc6NegAdcCounts(nullptr),
0375       theMEBeam4Ring6Disc7NegAdcCounts(nullptr),
0376       theMEBeam4Ring6Disc8NegAdcCounts(nullptr),
0377       theMEBeam4Ring6Disc9NegAdcCounts(nullptr),
0378       // Adc counts for Beam 5 in Ring 6
0379       theMEBeam5Ring6Disc1NegAdcCounts(nullptr),
0380       theMEBeam5Ring6Disc2NegAdcCounts(nullptr),
0381       theMEBeam5Ring6Disc3NegAdcCounts(nullptr),
0382       theMEBeam5Ring6Disc4NegAdcCounts(nullptr),
0383       theMEBeam5Ring6Disc5NegAdcCounts(nullptr),
0384       theMEBeam5Ring6Disc6NegAdcCounts(nullptr),
0385       theMEBeam5Ring6Disc7NegAdcCounts(nullptr),
0386       theMEBeam5Ring6Disc8NegAdcCounts(nullptr),
0387       theMEBeam5Ring6Disc9NegAdcCounts(nullptr),
0388       // Adc counts for Beam 6 in Ring 6
0389       theMEBeam6Ring6Disc1NegAdcCounts(nullptr),
0390       theMEBeam6Ring6Disc2NegAdcCounts(nullptr),
0391       theMEBeam6Ring6Disc3NegAdcCounts(nullptr),
0392       theMEBeam6Ring6Disc4NegAdcCounts(nullptr),
0393       theMEBeam6Ring6Disc5NegAdcCounts(nullptr),
0394       theMEBeam6Ring6Disc6NegAdcCounts(nullptr),
0395       theMEBeam6Ring6Disc7NegAdcCounts(nullptr),
0396       theMEBeam6Ring6Disc8NegAdcCounts(nullptr),
0397       theMEBeam6Ring6Disc9NegAdcCounts(nullptr),
0398       // Adc counts for Beam 7 in Ring 6
0399       theMEBeam7Ring6Disc1NegAdcCounts(nullptr),
0400       theMEBeam7Ring6Disc2NegAdcCounts(nullptr),
0401       theMEBeam7Ring6Disc3NegAdcCounts(nullptr),
0402       theMEBeam7Ring6Disc4NegAdcCounts(nullptr),
0403       theMEBeam7Ring6Disc5NegAdcCounts(nullptr),
0404       theMEBeam7Ring6Disc6NegAdcCounts(nullptr),
0405       theMEBeam7Ring6Disc7NegAdcCounts(nullptr),
0406       theMEBeam7Ring6Disc8NegAdcCounts(nullptr),
0407       theMEBeam7Ring6Disc9NegAdcCounts(nullptr),
0408       // TOB Beams
0409       // Adc counts for Beam 0
0410       theMEBeam0TOBPosition1AdcCounts(nullptr),
0411       theMEBeam0TOBPosition2AdcCounts(nullptr),
0412       theMEBeam0TOBPosition3AdcCounts(nullptr),
0413       theMEBeam0TOBPosition4AdcCounts(nullptr),
0414       theMEBeam0TOBPosition5AdcCounts(nullptr),
0415       theMEBeam0TOBPosition6AdcCounts(nullptr),
0416       // Adc counts for Beam 1
0417       theMEBeam1TOBPosition1AdcCounts(nullptr),
0418       theMEBeam1TOBPosition2AdcCounts(nullptr),
0419       theMEBeam1TOBPosition3AdcCounts(nullptr),
0420       theMEBeam1TOBPosition4AdcCounts(nullptr),
0421       theMEBeam1TOBPosition5AdcCounts(nullptr),
0422       theMEBeam1TOBPosition6AdcCounts(nullptr),
0423       // Adc counts for Beam 2
0424       theMEBeam2TOBPosition1AdcCounts(nullptr),
0425       theMEBeam2TOBPosition2AdcCounts(nullptr),
0426       theMEBeam2TOBPosition3AdcCounts(nullptr),
0427       theMEBeam2TOBPosition4AdcCounts(nullptr),
0428       theMEBeam2TOBPosition5AdcCounts(nullptr),
0429       theMEBeam2TOBPosition6AdcCounts(nullptr),
0430       // Adc counts for Beam 3
0431       theMEBeam3TOBPosition1AdcCounts(nullptr),
0432       theMEBeam3TOBPosition2AdcCounts(nullptr),
0433       theMEBeam3TOBPosition3AdcCounts(nullptr),
0434       theMEBeam3TOBPosition4AdcCounts(nullptr),
0435       theMEBeam3TOBPosition5AdcCounts(nullptr),
0436       theMEBeam3TOBPosition6AdcCounts(nullptr),
0437       // Adc counts for Beam 4
0438       theMEBeam4TOBPosition1AdcCounts(nullptr),
0439       theMEBeam4TOBPosition2AdcCounts(nullptr),
0440       theMEBeam4TOBPosition3AdcCounts(nullptr),
0441       theMEBeam4TOBPosition4AdcCounts(nullptr),
0442       theMEBeam4TOBPosition5AdcCounts(nullptr),
0443       theMEBeam4TOBPosition6AdcCounts(nullptr),
0444       // Adc counts for Beam 5
0445       theMEBeam5TOBPosition1AdcCounts(nullptr),
0446       theMEBeam5TOBPosition2AdcCounts(nullptr),
0447       theMEBeam5TOBPosition3AdcCounts(nullptr),
0448       theMEBeam5TOBPosition4AdcCounts(nullptr),
0449       theMEBeam5TOBPosition5AdcCounts(nullptr),
0450       theMEBeam5TOBPosition6AdcCounts(nullptr),
0451       // Adc counts for Beam 6
0452       theMEBeam6TOBPosition1AdcCounts(nullptr),
0453       theMEBeam6TOBPosition2AdcCounts(nullptr),
0454       theMEBeam6TOBPosition3AdcCounts(nullptr),
0455       theMEBeam6TOBPosition4AdcCounts(nullptr),
0456       theMEBeam6TOBPosition5AdcCounts(nullptr),
0457       theMEBeam6TOBPosition6AdcCounts(nullptr),
0458       // Adc counts for Beam 7
0459       theMEBeam7TOBPosition1AdcCounts(nullptr),
0460       theMEBeam7TOBPosition2AdcCounts(nullptr),
0461       theMEBeam7TOBPosition3AdcCounts(nullptr),
0462       theMEBeam7TOBPosition4AdcCounts(nullptr),
0463       theMEBeam7TOBPosition5AdcCounts(nullptr),
0464       theMEBeam7TOBPosition6AdcCounts(nullptr),
0465       // TIB Beams
0466       // Adc counts for Beam 0
0467       theMEBeam0TIBPosition1AdcCounts(nullptr),
0468       theMEBeam0TIBPosition2AdcCounts(nullptr),
0469       theMEBeam0TIBPosition3AdcCounts(nullptr),
0470       theMEBeam0TIBPosition4AdcCounts(nullptr),
0471       theMEBeam0TIBPosition5AdcCounts(nullptr),
0472       theMEBeam0TIBPosition6AdcCounts(nullptr),
0473       // Adc counts for Beam 1
0474       theMEBeam1TIBPosition1AdcCounts(nullptr),
0475       theMEBeam1TIBPosition2AdcCounts(nullptr),
0476       theMEBeam1TIBPosition3AdcCounts(nullptr),
0477       theMEBeam1TIBPosition4AdcCounts(nullptr),
0478       theMEBeam1TIBPosition5AdcCounts(nullptr),
0479       theMEBeam1TIBPosition6AdcCounts(nullptr),
0480       // Adc counts for Beam 2
0481       theMEBeam2TIBPosition1AdcCounts(nullptr),
0482       theMEBeam2TIBPosition2AdcCounts(nullptr),
0483       theMEBeam2TIBPosition3AdcCounts(nullptr),
0484       theMEBeam2TIBPosition4AdcCounts(nullptr),
0485       theMEBeam2TIBPosition5AdcCounts(nullptr),
0486       theMEBeam2TIBPosition6AdcCounts(nullptr),
0487       // Adc counts for Beam 3
0488       theMEBeam3TIBPosition1AdcCounts(nullptr),
0489       theMEBeam3TIBPosition2AdcCounts(nullptr),
0490       theMEBeam3TIBPosition3AdcCounts(nullptr),
0491       theMEBeam3TIBPosition4AdcCounts(nullptr),
0492       theMEBeam3TIBPosition5AdcCounts(nullptr),
0493       theMEBeam3TIBPosition6AdcCounts(nullptr),
0494       // Adc counts for Beam 4
0495       theMEBeam4TIBPosition1AdcCounts(nullptr),
0496       theMEBeam4TIBPosition2AdcCounts(nullptr),
0497       theMEBeam4TIBPosition3AdcCounts(nullptr),
0498       theMEBeam4TIBPosition4AdcCounts(nullptr),
0499       theMEBeam4TIBPosition5AdcCounts(nullptr),
0500       theMEBeam4TIBPosition6AdcCounts(nullptr),
0501       // Adc counts for Beam 5
0502       theMEBeam5TIBPosition1AdcCounts(nullptr),
0503       theMEBeam5TIBPosition2AdcCounts(nullptr),
0504       theMEBeam5TIBPosition3AdcCounts(nullptr),
0505       theMEBeam5TIBPosition4AdcCounts(nullptr),
0506       theMEBeam5TIBPosition5AdcCounts(nullptr),
0507       theMEBeam5TIBPosition6AdcCounts(nullptr),
0508       // Adc counts for Beam 6
0509       theMEBeam6TIBPosition1AdcCounts(nullptr),
0510       theMEBeam6TIBPosition2AdcCounts(nullptr),
0511       theMEBeam6TIBPosition3AdcCounts(nullptr),
0512       theMEBeam6TIBPosition4AdcCounts(nullptr),
0513       theMEBeam6TIBPosition5AdcCounts(nullptr),
0514       theMEBeam6TIBPosition6AdcCounts(nullptr),
0515       // Adc counts for Beam 7
0516       theMEBeam7TIBPosition1AdcCounts(nullptr),
0517       theMEBeam7TIBPosition2AdcCounts(nullptr),
0518       theMEBeam7TIBPosition3AdcCounts(nullptr),
0519       theMEBeam7TIBPosition4AdcCounts(nullptr),
0520       theMEBeam7TIBPosition5AdcCounts(nullptr),
0521       theMEBeam7TIBPosition6AdcCounts(nullptr) {
0522   // load the configuration from the ParameterSet
0523   edm::LogInfo("LaserDQM") << "==========================================================="
0524                            << "\n===                Start configuration                  ==="
0525                            << "\n    theDebugLevel              = " << theDebugLevel
0526                            << "\n    theSearchPhiTIB            = " << theSearchPhiTIB
0527                            << "\n    theSearchPhiTOB            = " << theSearchPhiTOB
0528                            << "\n    theSearchPhiTEC            = " << theSearchPhiTEC
0529                            << "\n    theSearchZTIB              = " << theSearchZTIB
0530                            << "\n    theSearchZTOB              = " << theSearchZTOB
0531                            << "\n    DQM filename               = " << theDQMFileName
0532                            << "\n===========================================================";
0533 }
0534 
0535 LaserDQM::~LaserDQM() {}
0536 
0537 void LaserDQM::analyze(edm::Event const &theEvent, edm::EventSetup const &theSetup) {
0538   // do the Tracker Statistics
0539   trackerStatistics(theEvent, theSetup);
0540 }
0541 
0542 void LaserDQM::beginJob() {
0543   // get hold of DQM Backend interface
0544   theDaqMonitorBEI = edm::Service<DQMStore>().operator->();
0545 
0546   // initialize the Monitor Elements
0547   initMonitors();
0548 }
0549 
0550 void LaserDQM::endJob(void) { theDaqMonitorBEI->save(theDQMFileName); }
0551 
0552 void LaserDQM::fillAdcCounts(MonitorElement *theMonitor,
0553                              edm::DetSet<SiStripDigi>::const_iterator digiRangeIterator,
0554                              edm::DetSet<SiStripDigi>::const_iterator digiRangeIteratorEnd) {
0555   // get the ROOT object from the MonitorElement
0556   TH1F *theMEHistogram = theMonitor->getTH1F();
0557 
0558   // loop over all the digis in this det
0559   for (; digiRangeIterator != digiRangeIteratorEnd; ++digiRangeIterator) {
0560     const SiStripDigi *digi = &*digiRangeIterator;
0561 
0562     if (theDebugLevel > 4) {
0563       std::cout << " Channel " << digi->channel() << " has " << digi->adc() << " adc counts " << std::endl;
0564     }
0565 
0566     // fill the number of adc counts in the histogram
0567     if (digi->channel() < 512) {
0568       Double_t theBinContent = theMEHistogram->GetBinContent(digi->channel()) + digi->adc();
0569       theMEHistogram->SetBinContent(digi->channel(), theBinContent);
0570     }
0571   }
0572 }
0573 
0574 // define the SEAL module
0575 
0576 DEFINE_FWK_MODULE(LaserDQM);