00001 #ifndef DQM_CASTORMONITOR_CASTOREVENTDISPLAY_H 00002 #define DQM_CASTORMONITOR_CASTOREVENTDISPLAY_H 00003 00004 #include "DQM/CastorMonitor/interface/CastorBaseMonitor.h" 00005 #include "DQMServices/Core/interface/DQMStore.h" 00006 #include "DQMServices/Core/interface/MonitorElement.h" 00007 00008 #include "Geometry/CaloGeometry/interface/CaloGeometry.h" 00009 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" 00010 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" 00011 #include "Geometry/Records/interface/CaloGeometryRecord.h" 00012 #include "DataFormats/GeometryVector/interface/GlobalPoint.h" 00013 #include "SimG4CMS/Calo/interface/CaloHit.h" 00014 #include "SimDataFormats/CaloHit/interface/PCaloHit.h" 00015 #include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h" 00016 #include <string> 00017 #include <map> 00018 #include <vector> 00019 00020 00021 class CastorEventDisplay: public CastorBaseMonitor { 00022 public: 00023 CastorEventDisplay(); 00024 ~CastorEventDisplay(); 00025 00026 void setup(const edm::ParameterSet& ps, DQMStore* dbe); 00027 void processEvent(const CastorRecHitCollection& castorHits, const CaloGeometry& caloGeometry ); 00028 void reset(); 00029 00030 private: 00031 00032 00033 00034 int ievt_; 00035 double X_pos; 00036 double Y_pos; 00037 double Z_pos; 00038 double X_pos_maxE; 00039 double Y_pos_maxE; 00040 double Z_pos_maxE; 00041 00042 bool offline_; 00043 float energy; 00044 float allEnergyEvent; 00045 float maxEnergyEvent; 00046 00048 MonitorElement* meCastor3Dhits; //-- cumulative event display 00049 MonitorElement* meCastor3DhitsMaxEnergy; //-- dispay of an event with the largest deposited energy 00050 MonitorElement* meEVT_; 00051 00052 }; 00053 00054 #endif