61 std::size_t
m = tag.find(
"minus");
62 std::size_t
p = tag.find(
"plus");
63 if (m != std::string::npos)
65 if (p != std::string::npos)
103 std::size_t thin = tag.find(
"thin");
104 std::size_t thick = tag.find(
"thick");
105 if (thin != std::string::npos)
107 if (thick != std::string::npos)
139 std::size_t
p = (tag.find(
"layer") != std::string::npos) ? tag.find(
"layer") : tag.find(
"wheel");
140 if (p != std::string::npos) {
141 std::size_t
start = tag.find(
'_', p + 1) + 1;
142 std::size_t stop = tag.find(
'_', start);
143 std::string plane = tag.substr(start, stop - start);
144 return atoi(plane.c_str());
154 std::vector<MonitorElement*>
found = std::vector<MonitorElement*>();
159 auto it = histos.begin();
161 LogDebug(
"APVGainHelpers") <<
"sId: " << sId <<
" sPlane: " << sPlane <<
" sSide: " << sSide << std::endl;
163 while (it != histos.end()) {
165 int subdetectorThickness = (*it).getThickness();
170 bool match = (subdetectorId == 0 || subdetectorId == sId) &&
171 (subdetectorPlane == 0 || subdetectorPlane == sPlane) &&
172 (subdetectorSide == 0 || subdetectorSide == sSide) &&
173 (subdetectorThickness == 0 || subdetectorThickness == sThick);
176 found.emplace_back((*it).getMonitor());
177 LogDebug(
"APVGainHelpers") << det_id <<
" found: " << tag << std::endl;
190 std::vector<unsigned int> found_indices = std::vector<unsigned int>();
197 for (
auto& element : theMap) {
198 int subdetectorThickness = element.second.m_thickness;
203 bool match = (subdetectorId == 0 || subdetectorId == sId) &&
204 (subdetectorPlane == 0 || subdetectorPlane == sPlane) &&
205 (subdetectorSide == 0 || subdetectorSide == sSide) &&
206 (subdetectorThickness == 0 || subdetectorThickness == sThick);
209 found_indices.push_back(element.first);
212 return found_indices;
218 std::vector<std::pair<std::string, std::string>>
out;
222 constexpr
int countOfPlanes = 34;
224 int re = (allPlanes) ? countOfPlanes + VH.size() : VH.size();
236 constexpr
int TIBlayers = 4;
237 for (
int i = 1;
i <= TIBlayers;
i++) {
241 out.push_back(std::pair<std::string, std::string>(h_tag, h_tit));
244 constexpr
int TOBlayers = 6;
245 for (
int i = 1;
i <= TOBlayers;
i++) {
249 out.push_back(std::pair<std::string, std::string>(h_tag, h_tit));
252 constexpr
int TIDwheels = 3;
253 for (
int i = -TIDwheels;
i <= TIDwheels;
i++) {
262 out.push_back(std::pair<std::string, std::string>(h_tag, h_tit));
265 constexpr
int TECwheels = 9;
266 for (
int i = -TECwheels;
i <= TECwheels;
i++) {
275 out.push_back(std::pair<std::string, std::string>(h_tag, h_tit));
279 for (
unsigned int i = 0;
i < VH.size();
i++) {
283 out.push_back(std::pair<std::string, std::string>(h_tag, h_tit));
static constexpr auto TEC
std::vector< unsigned int > FetchIndices(std::map< unsigned int, APVloc >, uint32_t, const TrackerTopology *topo=nullptr)
unsigned int tibLayer(const DetId &id) const
unsigned int side(const DetId &id) const
int subdetectorPlane(uint32_t, const TrackerTopology *)
std::string to_string(const V &value)
unsigned int tidWheel(const DetId &id) const
unsigned int tidSide(const DetId &id) const
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
static constexpr auto TOB
static constexpr auto TOB
Detector identifier class for the strip tracker.
static constexpr auto TIB
std::vector< MonitorElement * > FetchMonitor(std::vector< APVmon >, uint32_t, const TrackerTopology *topo=nullptr)
int subdetectorSide(uint32_t, const TrackerTopology *)
static constexpr auto TIB
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
std::vector< std::pair< std::string, std::string > > monHnames(std::vector< std::string >, bool, const char *tag)
unsigned int tecWheel(const DetId &id) const
static constexpr auto TID
int subdetectorId(uint32_t)
unsigned int tobLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const
SiStripModuleGeometry moduleGeometry() const