Go to the documentation of this file.00001
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