Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-10 02:21:32

0001 #ifndef GlobalHitsTester_h
0002 #define GlobalHitsTester_h
0003 
0004 /** \class GlobalHitsAnalyzer
0005  *
0006  *  Class to fill dqm monitor elements from existing EDM file
0007  *
0008  *  \author M. Strang SUNY-Buffalo
0009  */
0010 
0011 // framework & common header files
0012 #include "DataFormats/Common/interface/Handle.h"
0013 #include "DataFormats/Provenance/interface/Provenance.h"
0014 #include "FWCore/Framework/interface/ESHandle.h"
0015 #include "FWCore/Framework/interface/Event.h"
0016 #include "FWCore/Framework/interface/EventSetup.h"
0017 #include "FWCore/Framework/interface/Frameworkfwd.h"
0018 #include "FWCore/Framework/interface/MakerMacros.h"
0019 #include "FWCore/Framework/interface/Run.h"
0020 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0021 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0022 //#include "Geometry/CommonDetUnit/interface/GeomDet.h"
0023 //#include "DataFormats/DetId/interface/DetId.h"
0024 #include "TRandom.h"
0025 #include "TRandom3.h"
0026 
0027 // DQM services
0028 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0029 #include "DQMServices/Core/interface/DQMStore.h"
0030 #include "FWCore/ServiceRegistry/interface/Service.h"
0031 
0032 // tracker info
0033 //#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0034 //#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0035 //#include "DataFormats/SiStripDetId/interface/StripSubdetector.h"
0036 //#include "DataFormats/SiPixelDetId/interface/PixelSubdetector.h"
0037 
0038 // muon info
0039 //#include "Geometry/Records/interface/MuonGeometryRecord.h"
0040 //#include "Geometry/CSCGeometry/interface/CSCGeometry.h"
0041 //#include "Geometry/DTGeometry/interface/DTGeometry.h"
0042 //#include "Geometry/RPCGeometry/interface/RPCGeometry.h"
0043 //#include "DataFormats/MuonDetId/interface/MuonSubdetId.h"
0044 //#include "DataFormats/MuonDetId/interface/RPCDetId.h"
0045 //#include "DataFormats/MuonDetId/interface/DTWireId.h"
0046 
0047 // calorimeter info
0048 //#include "Geometry/Records/interface/IdealGeometryRecord.h"
0049 //#include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0050 //#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
0051 //#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
0052 //#include "DataFormats/EcalDetId/interface/EcalSubdetector.h"
0053 //#include "DataFormats/HcalDetId/interface/HcalSubdetector.h"
0054 
0055 // data in edm::event
0056 //#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
0057 //#include "SimDataFormats/Vertex/interface/SimVertexContainer.h"
0058 //#include "SimDataFormats/Track/interface/SimTrackContainer.h"
0059 //#include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0060 //#include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
0061 
0062 // helper files
0063 //#include <CLHEP/Vector/LorentzVector.h>
0064 //#include "DataFormats/Math/interface/LorentzVector.h"
0065 
0066 #include <cstdlib>
0067 #include <iostream>
0068 #include <memory>
0069 #include <string>
0070 #include <vector>
0071 
0072 #include "TString.h"
0073 
0074 class GlobalHitsTester : public DQMEDAnalyzer {
0075 public:
0076   explicit GlobalHitsTester(const edm::ParameterSet &);
0077   ~GlobalHitsTester() override;
0078   void analyze(const edm::Event &, const edm::EventSetup &) override;
0079   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0080 
0081 private:
0082   std::string fName;
0083   int verbosity;
0084   int frequency;
0085   int vtxunit;
0086   std::string label;
0087   bool getAllProvenances;
0088   bool printProvenanceInfo;
0089 
0090   std::string outputfile;
0091   bool doOutput;
0092 
0093   MonitorElement *meTestString;
0094   MonitorElement *meTestInt;
0095   MonitorElement *meTestFloat;
0096   MonitorElement *meTestTH1F;
0097   MonitorElement *meTestTH2F;
0098   MonitorElement *meTestTH3F;
0099   MonitorElement *meTestProfile1;
0100   MonitorElement *meTestProfile2;
0101 
0102   TRandom *Random;
0103   double RandomVal1;
0104   double RandomVal2;
0105   double RandomVal3;
0106 
0107   // private statistics information
0108   unsigned int count;
0109 };
0110 
0111 #endif