File indexing completed on 2024-04-06 12:32:47
0001 #ifndef Validation_MuonCSCDigis_CSCBaseValidation_h
0002 #define Validation_MuonCSCDigis_CSCBaseValidation_h
0003
0004
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