Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:32:07

0001 #ifndef ECALTBVALIDATION_H
0002 #define ECALTBVALIDATION_H
0003 
0004 #include "DataFormats/EcalDetId/interface/EBDetId.h"
0005 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
0006 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "FWCore/Framework/interface/Frameworkfwd.h"
0009 #include "FWCore/Framework/interface/MakerMacros.h"
0010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0011 #include "TBDataFormats/EcalTBObjects/interface/EcalTBEventHeader.h"
0012 #include "TBDataFormats/EcalTBObjects/interface/EcalTBHodoscopeRecInfo.h"
0013 #include "TBDataFormats/EcalTBObjects/interface/EcalTBTDCRecInfo.h"
0014 #include <memory>
0015 
0016 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0017 #include "DQMServices/Core/interface/DQMStore.h"
0018 
0019 class EcalTBValidation : public DQMEDAnalyzer {
0020 public:
0021   explicit EcalTBValidation(const edm::ParameterSet &);
0022   ~EcalTBValidation() override;
0023 
0024   void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override;
0025   void analyze(const edm::Event &, const edm::EventSetup &) override;
0026 
0027 private:
0028   bool verbose_;
0029 
0030   int data_;
0031   int xtalInBeam_;
0032   // std::string rootfile_;
0033   std::string digiCollection_;
0034   std::string digiProducer_;
0035   std::string hitCollection_;
0036   std::string hitProducer_;
0037   std::string hodoRecInfoCollection_;
0038   std::string hodoRecInfoProducer_;
0039   std::string tdcRecInfoCollection_;
0040   std::string tdcRecInfoProducer_;
0041   std::string eventHeaderCollection_;
0042   std::string eventHeaderProducer_;
0043   // fix for consumes
0044   edm::EDGetTokenT<EBDigiCollection> digi_Token_;
0045   edm::EDGetTokenT<EBUncalibratedRecHitCollection> hit_Token_;
0046   edm::EDGetTokenT<EcalTBHodoscopeRecInfo> hodoRec_Token_;
0047   edm::EDGetTokenT<EcalTBTDCRecInfo> tdcRec_Token_;
0048   edm::EDGetTokenT<EcalTBEventHeader> eventHeader_Token_;
0049   // histos
0050   // TH2F *h_xib,   *h_ampltdc, *h_Shape;
0051   // TH1F *h_hodoX, *h_hodoY;
0052   // TH1F *h_e1x1, *h_e3x3,  *h_e5x5;
0053   // TH1F *h_e1e9, *h_e1e25, *h_e9e25;
0054   // TH1F *h_e1x1_center, *h_e3x3_center,  *h_e5x5_center;
0055   // TH2F *h_e1vsX,      *h_e1vsY;
0056   // TH2F *h_e1e9vsX,    *h_e1e9vsY;
0057   // TH2F *h_e1e25vsX,   *h_e1e25vsY;
0058   // TH2F *h_e9e25vsX,   *h_e9e25vsY;
0059 
0060   MonitorElement *meETBxib_;
0061   MonitorElement *meETBampltdc_;
0062   MonitorElement *meETBShape_;
0063   MonitorElement *meETBhodoX_;
0064   MonitorElement *meETBhodoY_;
0065   MonitorElement *meETBe1x1_;
0066   MonitorElement *meETBe3x3_;
0067   MonitorElement *meETBe5x5_;
0068   MonitorElement *meETBe1e9_;
0069   MonitorElement *meETBe1e25_;
0070   MonitorElement *meETBe9e25_;
0071   MonitorElement *meETBe1x1_center_;
0072   MonitorElement *meETBe3x3_center_;
0073   MonitorElement *meETBe5x5_center_;
0074   MonitorElement *meETBe1vsX_;
0075   MonitorElement *meETBe1vsY_;
0076   MonitorElement *meETBe1e9vsX_;
0077   MonitorElement *meETBe1e9vsY_;
0078   MonitorElement *meETBe1e25vsX_;
0079   MonitorElement *meETBe1e25vsY_;
0080   MonitorElement *meETBe9e25vsX_;
0081   MonitorElement *meETBe9e25vsY_;
0082 };
0083 
0084 #endif