CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/Validation/MuonCSCDigis/interface/CSCBaseValidation.h

Go to the documentation of this file.
00001 #ifndef CSCBaseValidation_h
00002 #define CSCBaseValidation_h
00003 
00004 // user include files
00005 
00006 #include "FWCore/Framework/interface/Event.h"
00007 #include "FWCore/Framework/interface/ESHandle.h"
00008 #include "FWCore/Framework/interface/EDAnalyzer.h"
00009 #include "FWCore/Utilities/interface/InputTag.h"
00010 
00011 #include "DQMServices/Core/interface/DQMStore.h"
00012 #include "SimMuon/MCTruth/interface/PSimHitMap.h"
00013 #include "Geometry/CSCGeometry/interface/CSCGeometry.h"
00014 
00015 
00016 class CSCBaseValidation {
00017 public:
00018   CSCBaseValidation(DQMStore* dbe, const edm::InputTag & inputTag);
00019   virtual ~CSCBaseValidation() {}
00020  
00021   void setGeometry(const CSCGeometry * geom) {theCSCGeometry = geom;}
00022   void setSimHitMap(const  PSimHitMap * simHitMap) {theSimHitMap = simHitMap;}
00023 
00024   virtual void analyze(const edm::Event&e, const edm::EventSetup& eventSetup) = 0;
00025 
00026  protected:
00027   const CSCLayer * findLayer(int detId) const;
00028 
00029   DQMStore* dbe_;
00030   edm::InputTag theInputTag;
00031   const PSimHitMap * theSimHitMap;
00032   const CSCGeometry * theCSCGeometry;
00033 };
00034 
00035 #endif
00036