CMS 3D CMS Logo

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