Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef QIE10Task_h
0002 #define QIE10Task_h
0003 
0004 /*
0005  *  file:           QIE10Task.h
0006  *  Author:         Viktor KHristenko
0007  *  Description:
0008  *      Task for QIE10 Read out
0009  */
0010 
0011 #include "DQM/HcalCommon/interface/DQTask.h"
0012 #include "DQM/HcalCommon/interface/Utilities.h"
0013 #include "DQM/HcalCommon/interface/Container2D.h"
0014 #include "DQM/HcalCommon/interface/ContainerProf1D.h"
0015 #include "DQM/HcalCommon/interface/ContainerSingleProf1D.h"
0016 #include "DQM/HcalCommon/interface/ContainerSingleProf2D.h"
0017 #include "DQM/HcalCommon/interface/ContainerSingle1D.h"
0018 #include "DQM/HcalCommon/interface/ContainerSingle2D.h"
0019 #include "DQM/HcalCommon/interface/HashFilter.h"
0020 #include "DQM/HcalCommon/interface/ElectronicsMap.h"
0021 
0022 class QIE10Task : public hcaldqm::DQTask {
0023 public:
0024   QIE10Task(edm::ParameterSet const&);
0025   ~QIE10Task() override {}
0026 
0027   void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0028   void globalEndLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) override;
0029 
0030 protected:
0031   void _process(edm::Event const&, edm::EventSetup const&) override;
0032   void _resetMonitors(hcaldqm::UpdateFreq) override;
0033 
0034   //    tags
0035   edm::InputTag _tagQIE10;
0036   edm::InputTag _tagHF;
0037   edm::EDGetTokenT<QIE10DigiCollection> _tokQIE10;
0038   edm::EDGetTokenT<HFDigiCollection> _tokHF;
0039   edm::ESGetToken<HcalDbService, HcalDbRecord> hcalDbServiceToken_;
0040 
0041   //    cuts/constants from input
0042   double _cut;
0043   int _ped;
0044 
0045   //    filters
0046   hcaldqm::filter::HashFilter _filter_slot[36];
0047 
0048   //    Electronics Maps/Hashes
0049   hcaldqm::electronicsmap::ElectronicsMap _ehashmap;
0050 
0051   //    hcaldqm::Containers
0052   hcaldqm::ContainerProf1D _cShapeCut_EChannel[36];
0053   hcaldqm::Container2D _cLETDCvsADC_EChannel[10][36];
0054   hcaldqm::Container2D _cLETDCvsTS_EChannel[36];
0055   hcaldqm::Container1D _cLETDC_EChannel[10][36];
0056   hcaldqm::Container1D _cADC_EChannel[10][36];
0057   hcaldqm::Container1D _cLETDCTime_EChannel[36];
0058 
0059   //    hcaldqm::Containers overall
0060   hcaldqm::ContainerSingleProf1D _cShapeCut;
0061   hcaldqm::ContainerSingle2D _cLETDCTimevsADC;
0062   hcaldqm::ContainerSingle2D _cLETDCvsADC;
0063   hcaldqm::ContainerSingle1D _cLETDC;
0064   hcaldqm::ContainerSingle1D _cADC;
0065 
0066   //occupancy per crate/slot
0067   hcaldqm::Container2D _cOccupancy_Crate;
0068   hcaldqm::Container2D _cOccupancy_CrateSlot;
0069 
0070   // Detector coordinates
0071   hcaldqm::Container2D _cOccupancy_depth;
0072 };
0073 
0074 #endif