Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:32:47

0001 #ifndef Validation_MuonCSCDigis_CSCBaseValidation_h
0002 #define Validation_MuonCSCDigis_CSCBaseValidation_h
0003 
0004 // user include files
0005 
0006 #include "FWCore/Framework/interface/Event.h"
0007 #include "FWCore/Utilities/interface/InputTag.h"
0008 
0009 #include "DQMServices/Core/interface/DQMStore.h"
0010 #include "Geometry/CSCGeometry/interface/CSCGeometry.h"
0011 #include "SimMuon/MCTruth/interface/PSimHitMap.h"
0012 #include "SimDataFormats/Track/interface/SimTrack.h"
0013 
0014 class CSCBaseValidation {
0015 public:
0016   typedef dqm::legacy::DQMStore DQMStore;
0017   typedef dqm::legacy::MonitorElement MonitorElement;
0018 
0019   CSCBaseValidation(const edm::ParameterSet &ps);
0020   virtual ~CSCBaseValidation() {}
0021   void setGeometry(const CSCGeometry *geom) { theCSCGeometry = geom; }
0022   void setSimHitMap(const PSimHitMap *simHitMap) { theSimHitMap = simHitMap; }
0023   virtual void analyze(const edm::Event &e, const edm::EventSetup &eventSetup) = 0;
0024 
0025 protected:
0026   bool isSimTrackGood(const SimTrack &t) const;
0027 
0028   bool doSim_;
0029   const CSCLayer *findLayer(int detId) const;
0030   const PSimHitMap *theSimHitMap;
0031   const CSCGeometry *theCSCGeometry;
0032 
0033   double simTrackMinPt_;
0034   double simTrackMinEta_;
0035   double simTrackMaxEta_;
0036 };
0037 
0038 #endif