Go to the documentation of this file.00001 #ifndef SimG4CMS_HcalSimHitStudy_H
00002 #define SimG4CMS_HcalSimHitStudy_H
00003
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include "FWCore/Framework/interface/EDAnalyzer.h"
00006
00007 #include "FWCore/Framework/interface/Event.h"
00008 #include "FWCore/Framework/interface/EventSetup.h"
00009 #include "FWCore/Framework/interface/ESHandle.h"
00010 #include "FWCore/Framework/interface/MakerMacros.h"
00011
00012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00013 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00014
00015 #include "DQMServices/Core/interface/DQMStore.h"
00016 #include "DQMServices/Core/interface/MonitorElement.h"
00017 #include "FWCore/ServiceRegistry/interface/Service.h"
00018
00019 #include "SimDataFormats/CaloHit/interface/PCaloHit.h"
00020 #include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
00021
00022 #include <iostream>
00023 #include <fstream>
00024 #include <vector>
00025 #include <map>
00026 #include <string>
00027
00028 class HcalSimHitStudy: public edm::EDAnalyzer{
00029 public:
00030
00031 HcalSimHitStudy(const edm::ParameterSet& ps);
00032 ~HcalSimHitStudy();
00033
00034 protected:
00035
00036 void beginJob ();
00037 void endJob ();
00038 void analyze (const edm::Event& e, const edm::EventSetup& c);
00039
00040 void analyzeHits (std::vector<PCaloHit> &);
00041
00042 private:
00043
00044 std::string g4Label, hcalHits, outFile_;
00045 bool verbose_, checkHit_;
00046 DQMStore *dbe_;
00047
00048 MonitorElement *meAllNHit_, *meBadDetHit_, *meBadSubHit_, *meBadIdHit_;
00049 MonitorElement *meHBNHit_, *meHENHit_, *meHONHit_, *meHFNHit_;
00050 MonitorElement *meDetectHit_, *meSubdetHit_, *meDepthHit_, *meEtaHit_;
00051 MonitorElement *mePhiHit_, *meEnergyHit_, *meTimeHit_, *meTimeWHit_;
00052 MonitorElement *meHBDepHit_, *meHEDepHit_, *meHODepHit_, *meHFDepHit_;
00053 MonitorElement *meHBEtaHit_, *meHEEtaHit_, *meHOEtaHit_, *meHFEtaHit_;
00054 MonitorElement *meHBPhiHit_, *meHEPhiHit_, *meHOPhiHit_, *meHFPhiHit_;
00055 MonitorElement *meHBEneHit_, *meHEEneHit_, *meHOEneHit_, *meHFEneHit_;
00056 MonitorElement *meHBTimHit_, *meHETimHit_, *meHOTimHit_, *meHFTimHit_;
00057 MonitorElement *meHBEneHit2_, *meHEEneHit2_, *meHOEneHit2_, *meHFEneHit2_;
00058 MonitorElement *meHBL10Ene_, *meHEL10Ene_, *meHOL10Ene_, *meHFL10Ene_;
00059 MonitorElement *meHBL10EneP_, *meHEL10EneP_, *meHOL10EneP_, *meHFL10EneP_;
00060
00061 };
00062
00063 #endif