52 log <<
"Known colum names:\n";
63 assert(trackerTopologyHandle.
isValid());
65 std::vector<ID> geomquantities;
80 std::vector<std::pair<std::string, TTField>> namedPartitions{
93 for (
auto&
e : namedPartitions) {
94 geomquantities.push_back(
intern(
e.first));
111 auto diskid =
intern(
"PXDisk");
114 auto disk = pxdisk(iq);
117 auto endcap = pxendcap(iq);
118 return endcap == 1 ? -disk : disk;
123 uint32_t
id = iq.sourceModule.rawId();
138 assert(trackerGeometryHandle.
isValid());
141 auto detids = trackerGeometryHandle->
detIds();
142 for (
DetId id : detids) {
166 iq.row = topo->
nrows() - 1;
172 iq.row = topo->
nrows() - 1;
189 auto coord = std::make_shared<SiPixelCoordinates>(
phase);
253 return from_coord(coord->signed_ladder(iq.
sourceModule()));
256 return from_coord(coord->signed_module(iq.
sourceModule()));
259 return from_coord(coord->signed_blade(iq.
sourceModule()));
274 intern(
"SignedModuleCoord"),
276 return from_coord(coord->signed_module_coord(iq.
sourceModule(), std::make_pair(
int(iq.
row),
int(iq.
col))));
282 intern(
"SignedLadderCoord"),
284 return from_coord(coord->signed_ladder_coord(iq.
sourceModule(), std::make_pair(
int(iq.
row),
int(iq.
col))));
290 intern(
"SignedDiskCoord"),
292 return from_coord(coord->signed_disk_coord(iq.
sourceModule(), std::make_pair(
int(iq.
row),
int(iq.
col))));
298 intern(
"SignedDiskRingCoord"),
300 return from_coord(coord->signed_disk_ring_coord(iq.
sourceModule(), std::make_pair(
int(iq.
row),
int(iq.
col))));
306 intern(
"SignedBladePanelCoord"),
309 return from_coord(coord->signed_blade_coord(iq.
sourceModule(), std::make_pair(
int(iq.
row),
int(iq.
col))));
310 }
else if (phase == 1) {
312 coord->signed_blade_panel_coord(iq.
sourceModule(), std::make_pair(
int(iq.
row),
int(iq.
col))));
319 phase == 1 ? 0.25 : 0.2);
321 intern(
"SignedShiftedBladePanelCoord"),
324 return from_coord(coord->signed_blade_coord(iq.
sourceModule(), std::make_pair(
int(iq.
row),
int(iq.
col))));
325 }
else if (phase == 1) {
327 coord->signed_shifted_blade_panel_coord(iq.
sourceModule(), std::make_pair(
int(iq.
row),
int(iq.
col))));
334 phase == 1 ? 0.25 : 0.1
337 intern(
"SignedBladePanel"),
339 return from_coord(coord->signed_blade_panel_coord(iq.
sourceModule(), std::make_pair(
int(iq.
row),
int(iq.
col))));
346 intern(
"SignedBladePanel"),
348 return from_coord(coord->signed_blade_panel_coord(iq.
sourceModule(), std::make_pair(
int(iq.
row),
int(iq.
col))));
356 return from_coord(coord->roc(iq.
sourceModule(), std::make_pair(
int(iq.
row),
int(iq.
col))));
362 return from_coord(coord->channel(iq.
sourceModule(), std::make_pair(
int(iq.
row),
int(iq.
col))));
391 onlineblock + n_onlineblocks - 1);
404 iConfig.
getParameter<
int>(
"max_lumisection") / lumiblock);
436 std::shared_ptr<SiPixelFrameReverter> siPixelFrameReverter =
438 std::make_shared<SiPixelFrameReverter>(iSetup, theCablingMap.operator->());
477 if (
name ==
"PXDisk" && val > 0)
478 value =
"_+" + std::to_string(
int(val));
480 std::map<int, std::string> shellname{{11,
"_mI"}, {12,
"_mO"}, {21,
"_pI"}, {22,
"_pO"}};
481 if (
name ==
"HalfCylinder" ||
name ==
"Shell")
482 value = shellname[
int(val)];
484 value =
"_UNDEFINED";
std::map< ID, Value > max_value
bool hasField(const DetId &id, DetIdFields idx) const
T getParameter(std::string const &) const
virtual int nrows() const =0
std::map< std::pair< Column, Value >, std::string > format_value
std::map< std::string, ID > ids
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)
int quadrant(const DetId &detid, const TrackerTopology *tTopo_, bool phase_)
constexpr uint32_t rawId() const
get the raw id
std::string formatValue(Column, Value)
int bunchCrossing() const
edm::LuminosityBlockNumber_t luminosityBlock() const
std::string name() const override
from base class
global coordinates (row and column in DetUnit, as in PixelDigi)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
void loadFromTopology(edm::EventSetup const &iSetup, const edm::ParameterSet &iConfig)
void load(edm::EventSetup const &iSetup)
const edm::ParameterSet iConfig
const DetIdContainer & detIds() const override
Returm a vector of all GeomDet DetIds (including those of GeomDetUnits)
std::vector< InterestingQuantities > all_modules
std::string name() const override
from base class
static const Value UNDEFINED
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
unsigned int getField(const DetId &id, DetIdFields idx) const
void loadFEDCabling(edm::EventSetup const &iSetup, const edm::ParameterSet &iConfig)
virtual int ncolumns() const =0
void loadModuleLevel(edm::EventSetup const &iSetup, const edm::ParameterSet &iConfig)
std::vector< std::function< Value(InterestingQuantities const &iq)> > extractors
const edm::Event * sourceEvent
std::map< ID, Value > min_value
ID intern(std::string const &id)
T mod(const T &a, const T &b)
void loadTimebased(edm::EventSetup const &iSetup, const edm::ParameterSet &iConfig)
void loadFromSiPixelCoordinates(edm::EventSetup const &iSetup, const edm::ParameterSet &iConfig)