9 edm::LogError(
"TkLayerMap") <<
"\n------------------------------------------" 10 "\nUnAvailable Service SiStripDetInfoFileReader: please insert in " 11 "the configuration file an instance like" 12 "\n\tprocess.SiStripDetInfoFileReader = " 13 "cms.Service(\"SiStripDetInfoFileReader\")" 14 "\n------------------------------------------";
18 file =
new TFile(
"correlTest.root",
"RECREATE");
45 std::vector<TH1F *>
histos;
55 for (; iter != iterE; ++iter) {
59 edm::LogInfo(
"") <<
"[Doanalysis] detid " << *iter <<
" range " << range.second - range.first;
60 size_t apv = 0, apvE = (range.second - range.first);
61 for (; apv < apvE; apv += 2) {
64 for (
size_t i = 0;
i < histos.size(); ++
i)
65 histos[
i]->
Fill(value);
90 int index = 100 + subdet * 100 + component;
92 histos.push_back(
getHisto(subdet + 1));
97 if (
vTH1.size() < index + 1)
98 vTH1.resize(index + 1,
nullptr);
100 if (
vTH1[index] ==
nullptr) {
102 sprintf(name,
"%lu", index);
103 edm::LogInfo(
"") <<
"[getHisto] creating index " << index << std::endl;
104 vTH1[
index] =
new TH1F(name, name, 150, 0., 5.);
111 for (
size_t i = 0;
i <
vTH1.size();
i++)
112 if (
vTH1[
i] !=
nullptr)
118 tkmap->
save(
false, 0, 0,
"testTkMap.png");
ContainerIterator getFirstElement(RegistryConstIterator &idet)
unsigned long long getCache(const edm::EventSetup &eSetup)
unsigned int tibLayer(const DetId &id) const
Registry::const_iterator RegistryConstIterator
void getHistos(const uint32_t &detid, const TrackerTopology *tTopo, std::vector< TH1F * > &histos)
static float getApvGain(uint16_t apv, const Range &range)
RegistryConstIterator detid_end
RegistryConstIterator detid_begin
unsigned int tidWheel(const DetId &id) const
void DoAnalysis(const edm::EventSetup &es, const SiStripApvGain &)
unsigned long long cacheID
unsigned int tidSide(const DetId &id) const
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
void save(bool print_total=true, float minval=0., float maxval=0., std::string s="svgmap.svg", int width=1500, int height=800)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
std::pair< ContainerIterator, ContainerIterator > Range
Detector identifier class for the strip tracker.
SiStripDetInfoFileReader * fr
ContainerIterator getLastElement(RegistryConstIterator &idet)
TH1F * getHisto(const long unsigned int &index)
SiStripPlotGain(const edm::ParameterSet &)
std::vector< TH1F * > vTH1
edm::ESHandle< SiStripApvGain > Handle_
void beginRun(const edm::Run &run, const edm::EventSetup &es) override
unsigned int tecWheel(const DetId &id) const
RegistryPointers getRegistryPointers() const
T const * product() const
void fill(int layer, int ring, int nmod, float x)
unsigned int tobLayer(const DetId &id) const
~SiStripPlotGain() override
unsigned int tecSide(const DetId &id) const