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/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