CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Validation/MuonDTDigis/src/MuonDTDigis.h

Go to the documentation of this file.
00001 #ifndef Validation_MuonDTDigis_h
00002 #define Validation_MuonDTDigis_h
00003 
00011 #include <FWCore/Framework/interface/Event.h>
00012 #include "FWCore/Framework/interface/EventSetup.h"
00013 #include <FWCore/Framework/interface/EDAnalyzer.h>
00014 #include "FWCore/Framework/interface/ESHandle.h"
00015 
00016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00017 #include "FWCore/ServiceRegistry/interface/Service.h"
00018 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00019 
00020 #include "DQMServices/Core/interface/DQMStore.h"
00021 
00022 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
00023 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
00024   
00025 #include "Geometry/Records/interface/MuonGeometryRecord.h"
00026 #include "Geometry/DTGeometry/interface/DTGeometry.h"
00027 #include "Geometry/DTGeometry/interface/DTLayer.h"
00028 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00029   
00030 #include "DataFormats/DTDigi/interface/DTDigi.h"
00031 #include "DataFormats/DTDigi/interface/DTDigiCollection.h"
00032 #include "DataFormats/MuonDetId/interface/DTWireId.h"
00033 #include "DataFormats/MuonDetId/interface/DTLayerId.h"
00034   
00035 #include "SimMuon/DTDigitizer/test/Histograms.h"
00036 
00037 #include<vector>
00038 #include "DQMServices/Core/interface/MonitorElement.h"
00039 
00040 class TH1F;
00041 class TFile;
00042 
00043 class PSimHit;
00044 
00045 class   hDigis;
00046 
00047 namespace edm {
00048   class ParameterSet; class Event; class EventSetup;}
00049 
00050 class MuonDTDigis : public edm::EDAnalyzer{
00051   
00052  public:
00053   // Constructor
00054   explicit MuonDTDigis(const edm::ParameterSet& pset);
00055 
00056   // Destructor
00057   virtual ~MuonDTDigis();
00058 
00059  protected:
00060   // Analysis
00061   void analyze(const edm::Event & event, const edm::EventSetup& eventSetup);
00062 
00063   hDigis* WheelHistos(int wheel);
00064   
00065   // BeginJob
00066 //void beginJob();
00067 
00068   // EndJob
00069 //void endJob(void);
00070 
00071 
00072  private:
00073   typedef std::map<DTWireId, std::vector<const PSimHit*> > DTWireIdMap; 
00074 
00075   std::string SimHitLabel;
00076   std::string DigiLabel;
00077   std::string outputFile_;
00078 
00079   // Switch for debug output
00080   bool verbose_;
00081 
00082   // DaqMonitor element
00083   DQMStore* dbe_;
00084 
00085   // Monitor elements
00086   MonitorElement* meDigiTimeBox_;
00087   MonitorElement* meDigiTimeBox_wheel2m_;
00088   MonitorElement* meDigiTimeBox_wheel1m_;
00089   MonitorElement* meDigiTimeBox_wheel0_;
00090   MonitorElement* meDigiTimeBox_wheel1p_;
00091   MonitorElement* meDigiTimeBox_wheel2p_;
00092   MonitorElement* meDigiEfficiency_;
00093   MonitorElement* meDigiEfficiencyMu_;
00094   MonitorElement* meDoubleDigi_;
00095   MonitorElement* meSimvsDigi_;
00096   MonitorElement* meWire_DoubleDigi_; 
00097 
00098   MonitorElement* meMB1_sim_occup_;
00099   MonitorElement* meMB1_digi_occup_;
00100   MonitorElement* meMB2_sim_occup_;
00101   MonitorElement* meMB2_digi_occup_;
00102   MonitorElement* meMB3_sim_occup_;
00103   MonitorElement* meMB3_digi_occup_;
00104   MonitorElement* meMB4_sim_occup_;
00105   MonitorElement* meMB4_digi_occup_;
00106  
00107   std::vector<MonitorElement*> meDigiTimeBox_SL_;
00108   MonitorElement* meDigiHisto_;
00109 
00110   TH1F *hMuonDigis;
00111 //  TH1F *DigiTimeBox;
00112 //  TFile *file_more_plots;
00113 
00114   hDigis *hDigis_global;
00115   hDigis *hDigis_W0;
00116   hDigis *hDigis_W1; 
00117   hDigis *hDigis_W2;
00118   hHits *hAllHits;
00119  
00120 };
00121 
00122 #endif