CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/SimMuon/GEMDigitizer/src/GEMSimSetUp.h

Go to the documentation of this file.
00001 #ifndef GEMDigitizer_GEMSimSetUp_h
00002 #define GEMDigitizer_GEMSimSetUp_h
00003 
00004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00005 #include "CondFormats/RPCObjects/interface/RPCStripNoises.h"
00006 #include "CondFormats/RPCObjects/interface/RPCClusterSize.h"
00007 #include "DataFormats/MuonDetId/interface/GEMDetId.h"
00008 
00009 #include <map>
00010 #include <vector>
00011 
00012 class GEMGeometry;
00013 class GEMDetId;
00014 
00015 class GEMSimSetUp
00016 {
00017  public:
00018   
00019   GEMSimSetUp(const edm::ParameterSet& ps);
00020   
00021   virtual ~GEMSimSetUp() {}
00022 
00023   void setup();
00024 
00025   void setup(std::vector<RPCStripNoises::NoiseItem> &vnoise,
00026              std::vector<float> &vcluster);
00027 
00028   void setup(std::vector<RPCStripNoises::NoiseItem> &vnoise,
00029              std::vector<RPCClusterSize::ClusterSizeItem> &vClusterSize);
00030 
00031   const std::vector<float>& getNoise(uint32_t id);
00032   
00033   const std::vector<float>& getEfficiency(uint32_t id);
00034   
00035   float getTime(uint32_t id);
00036   
00037   const std::map< int, std::vector<float> >& getClusterMap();
00038   
00039   const std::vector<float>& getCluster(uint32_t id);
00040   
00041   void setGeometry(const GEMGeometry * geom) {geometry_ = geom;}
00042 
00043   const GEMGeometry * getGeometry() { return geometry_; }
00044 
00045 private:
00046 
00047   void setupNoiseAndEfficiency(std::vector<RPCStripNoises::NoiseItem> &vnoise);
00048   void setupTimeCalibration(GEMDetId id, float timing);
00049 
00050   const GEMGeometry * geometry_;
00051 
00052   std::map< uint32_t, std::vector<float> > mapDetIdNoise_;
00053   std::map< uint32_t, std::vector<float> > mapDetIdEfficiency_;
00054   std::map< GEMDetId, float> bxmap_;
00055   std::map< int, std::vector<float> > clusterMap_;
00056   std::map< uint32_t, std::vector<float> > mapDetClusterMap_;
00057 
00058   double averageEfficiency_;
00059   double averageNoiseRate_;
00060   double timeCalibrationOffset_;
00061   int numberOfStripsPerPartition_;
00062 };
00063 
00064 #endif