CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/DPGAnalysis/SiStripTools/src/SiStripTKNumbers.cc

Go to the documentation of this file.
00001 //#include <map>
00002 
00003 #include "DataFormats/DetId/interface/DetId.h"
00004 #include "DataFormats/SiStripDetId/interface/SiStripDetId.h"
00005 #include "DataFormats/SiStripDetId/interface/TIBDetId.h"
00006 #include "DataFormats/SiStripDetId/interface/TIDDetId.h"
00007 #include "DataFormats/SiStripDetId/interface/TOBDetId.h"
00008 #include "DataFormats/SiStripDetId/interface/TECDetId.h"
00009 #include "DPGAnalysis/SiStripTools/interface/SiStripTKNumbers.h"
00010 
00011 SiStripTKNumbers::SiStripTKNumbers() {
00012 
00013   SiStripDetId tk(DetId::Tracker,0);
00014   _nmodules[tk.rawId()] = (3540-816)+816+5208+6400;
00015   _nfibres[tk.rawId()] = (9192-2208)+2208+12906+15104;
00016   _nmodules[tk.subdetId()] = _nmodules[tk.rawId()];
00017   _nfibres[tk.subdetId()] = _nfibres[tk.rawId()];
00018 
00019   SiStripDetId tib(DetId::Tracker,SiStripDetId::TIB);
00020   _nmodules[tib.rawId()] = 3540-816;
00021   _nfibres[tib.rawId()] = 9192-2208;
00022   _nmodules[tib.subdetId()] = _nmodules[tib.rawId()];
00023   _nfibres[tib.subdetId()] = _nfibres[tib.rawId()];
00024 
00025   SiStripDetId tid(DetId::Tracker,SiStripDetId::TID);
00026   _nmodules[tid.rawId()] = 816;
00027   _nfibres[tid.rawId()] = 2208;
00028   _nmodules[tid.subdetId()] = _nmodules[tid.rawId()];
00029   _nfibres[tid.subdetId()] = _nfibres[tid.rawId()];
00030 
00031   SiStripDetId tob(DetId::Tracker,SiStripDetId::TOB);
00032   _nmodules[tob.rawId()] = 5208;
00033   _nfibres[tob.rawId()] = 12906;
00034   _nmodules[tob.subdetId()] = _nmodules[tob.rawId()];
00035   _nfibres[tob.subdetId()] = _nfibres[tob.rawId()];
00036 
00037   SiStripDetId tec(DetId::Tracker,SiStripDetId::TEC);
00038   _nmodules[tec.rawId()] = 6400;
00039   _nfibres[tec.rawId()] = 15104;
00040   _nmodules[tec.subdetId()] = _nmodules[tec.rawId()];
00041   _nfibres[tec.subdetId()] = _nfibres[tec.rawId()];
00042 
00043   TECDetId tecp(1,0,0,0,0,0,0);
00044   _nmodules[tecp.rawId()] = 3200;
00045   _nfibres[tecp.rawId()] = 7552;
00046 
00047   TECDetId tecm(2,0,0,0,0,0,0);
00048   _nmodules[tecm.rawId()] = 3200;
00049   _nfibres[tecm.rawId()] = 7552;
00050 
00051 }
00052   
00053 int SiStripTKNumbers::nmodules(const SiStripDetId& detid) const {
00054 
00055   int subd = detid.subdetId();
00056   if(_nmodules.find(subd)!=_nmodules.end()) return _nmodules.find(subd)->second;
00057 
00058   return 0;
00059 }
00060 
00061 int SiStripTKNumbers::nmodules(const int id) const {
00062 
00063   if(_nmodules.find(id)!=_nmodules.end()) return _nmodules.find(id)->second;
00064 
00065   return 0;
00066 }
00067 
00068 int SiStripTKNumbers::nfibres(const SiStripDetId& detid) const {
00069 
00070   int subd = detid.subdetId();
00071   if(_nfibres.find(subd)!=_nfibres.end()) return _nfibres.find(subd)->second;
00072 
00073   return 0;
00074 }
00075 
00076 int SiStripTKNumbers::nfibres(const int id) const {
00077 
00078   if(_nfibres.find(id)!=_nfibres.end()) return _nfibres.find(id)->second;
00079 
00080   return 0;
00081 }
00082 
00083 int SiStripTKNumbers::napvs(const SiStripDetId& detid) const {
00084   
00085   return nfibres(detid)*_apvsperfibre;
00086 }
00087 
00088 int SiStripTKNumbers::napvs(const int id) const {
00089 
00090   return nfibres(id)*_apvsperfibre;
00091 }
00092 
00093 int SiStripTKNumbers::nstrips(const SiStripDetId& detid) const {
00094   
00095   return nfibres(detid)*_apvsperfibre*_stripsperapv;
00096 }
00097 
00098 int SiStripTKNumbers::nstrips(const int id) const {
00099 
00100   return nfibres(id)*_apvsperfibre*_stripsperapv;
00101 }
00102