1 #ifndef SiPixel_GeometryInterface_h
2 #define SiPixel_GeometryInterface_h
46 typedef std::vector<std::pair<Column, Value>>
Values;
77 assert(col != 0 || !
"Extracting invalid column.");
82 edm::LogError(
"GeometryInterface") <<
"Undefined column used: " <<
unintern(
id) <<
". Check your spelling.\n";
107 auto it =
ids.find(
id);
108 if (it ==
ids.end()) {
158 std::vector<std::function<Value(InterestingQuantities const& iq)>>
extractors;
173 Value binwidth = 1) {
std::map< ID, Value > max_value
std::string cablingMapLabel_
std::map< std::pair< Column, Value >, std::string > format_value
GeometryInterface(const edm::ParameterSet &, edm::ConsumesCollector &&, edm::Transition transition=edm::Transition::BeginRun)
std::map< std::string, ID > ids
uint16_t *__restrict__ id
std::string pretty(Column col)
void addExtractor(ID id, std::function< Value(InterestingQuantities const &iq)> func, Value min=UNDEFINED, Value max=UNDEFINED, Value binwidth=1)
std::string formatValue(Column, Value)
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t Func __host__ __device__ V int Func func
Log< level::Error, false > LogError
const std::string names[nVars_]
std::string unintern(ID id)
void loadFromTopology(const TrackerGeometry &, const TrackerTopology &, const edm::ParameterSet &)
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyToken_
void loadModuleLevel(const edm::ParameterSet &iConfig)
void load(edm::EventSetup const &iSetup)
void extractColumns(std::vector< Column > const &names, InterestingQuantities const &iq, Values &out)
void loadFromSiPixelCoordinates(const TrackerGeometry &, const TrackerTopology &, const SiPixelFedCablingMap &, const edm::ParameterSet &)
const edm::ParameterSet iConfig
std::vector< InterestingQuantities > all_modules
std::map< ID, Value > bin_width
edm::ESGetToken< SiPixelFedCablingMap, SiPixelFedCablingMapRcd > labeledSiPixelFedCablingMapToken_
static const Value UNDEFINED
void loadFEDCabling(const SiPixelFedCablingMap *)
std::vector< std::pair< Column, Value > > Values
Value extract(ID id, DetId did, edm::Event *ev=nullptr, int16_t col=0, int16_t row=0)
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeometryToken_
edm::ESGetToken< SiPixelFedCablingMap, SiPixelFedCablingMapRcd > siPixelFedCablingMapToken_
std::pair< Column, Value > extract(Column const &col, InterestingQuantities const &iq)
std::vector< std::function< Value(InterestingQuantities const &iq)> > extractors
std::vector< InterestingQuantities > const & allModules()
const edm::Event * sourceEvent
void loadTimebased(const edm::ParameterSet &iConfig)
std::map< ID, Value > min_value
ID intern(std::string const &id)