80 topFolderName_(iConfig.getParameter<std::
string>(
"TopFolderName")) {}
94 if (!rhsoaHandle.isValid()) {
95 edm::LogWarning(
"SiPixelPhase1MonitorRecHitsSoA") <<
"No RecHits SoA found \n returning!" << std::endl;
98 auto const& rhsoa = *rhsoaHandle;
101 uint32_t nHits_ = soa2d->nHits();
104 for (uint32_t
i = 0;
i < nHits_;
i++) {
105 DetId id = detIds[soa2d->detectorIndex(
i)];
106 float xG = soa2d->xGlobal(
i);
107 float yG = soa2d->yGlobal(
i);
108 float zG = soa2d->zGlobal(
i);
109 float rG = soa2d->rGlobal(
i);
111 uint32_t
charge = soa2d->charge(
i);
115 int16_t ysign = yG >= 0 ? 1 : -1;
117 switch (
id.subdetId()) {
157 hnHits = iBook.
book1D(
"nHits",
"RecHits per event;RecHits;#events", 200, 0, 5000);
158 hBFposZP = iBook.
book2D(
"recHitsGlobalPosZP",
"RecHits position Global;Z;#phi", 1000, -60, 60, 200,-3.2,3.2);
159 hBFposZR = iBook.
book2D(
"recHitsGlobalPosZR",
"RecHits position Global;Z;R", 1000, -60, 60, 200,-20,20);
161 hBposXY = iBook.
book2D(
"recHitsBarrelPosXY",
"RecHits position Barrel;X;Y", 200, -20, 20, 200,-20,20);
162 hBposZP = iBook.
book2D(
"recHitsBarrelPosZP",
"RecHits position Barrel;Z;#phi", 300, -30, 30, 200,-3.2,3.2);
163 hBcharge = iBook.
book1D(
"recHitsBarrelCharge",
"RecHits Charge Barrel;Charge;#events", 250, 0, 100000);
164 hBsizex = iBook.
book1D(
"recHitsBarrelSizex",
"RecHits SizeX Barrel;SizeX;#events", 50, 0, 50);
165 hBsizey = iBook.
book1D(
"recHitsBarrelSizey",
"RecHits SizeY Barrel;SizeY;#events", 50, 0, 50);
168 hBposXYL[il] = iBook.
book2D(Form(
"recHitsBLay%dPosXY",il+1), Form(
"RecHits position Barrel Layer%d;X;Y",il+1), 200, -20, 20, 200,-20,20);
169 hBposZPL[il] = iBook.
book2D(Form(
"recHitsBLay%dPosZP",il+1), Form(
"RecHits position Barrel Layer%d;Z;#phi",il+1), 300, -30, 30, 200,-3.2,3.2);
170 hBchargeL[il] = iBook.
book1D(Form(
"recHitsBLay%dCharge",il+1), Form(
"RecHits Charge Barrel Layer%d;Charge;#events",il+1), 250, 0, 100000);
171 hBsizexL[il] = iBook.
book1D(Form(
"recHitsBLay%dSizex",il+1), Form(
"RecHits SizeX Barrel Layer%d;SizeX;#events",il+1), 50, 0, 50);
172 hBsizeyL[il] = iBook.
book1D(Form(
"recHitsBLay%dSizey",il+1), Form(
"RecHits SizeY Barrel Layer%d;SizeY;#events",il+1), 50, 0, 50);
175 hFposXY = iBook.
book2D(
"recHitsEndcapsPosXY",
"RecHits position Endcaps;X;Y", 200, -20, 20, 200,-20,-20);
176 hFposZP = iBook.
book2D(
"recHitsEndcapsPosZP",
"RecHits position Endcaps;Z;#phi", 600, -60, 60, 200,-3.2,3.2);
177 hFcharge = iBook.
book1D(
"recHitsEndcapsCharge",
"RecHits Charge Endcaps;Charge;#events", 250, 0, 100000);
178 hFsizex = iBook.
book1D(
"recHitsEndcapsSizex",
"RecHits SizeX Endcaps;SizeX;#events", 50, 0, 50);
179 hFsizey = iBook.
book1D(
"recHitsEndcapsSizey",
"RecHits SizeY Endcaps;SizeY;#events", 50, 0, 50);
181 for(
int is=0;is<2;is++){
182 int sign=is==0? -1:1;
184 hFposXYD[is][
id] = iBook.
book2D(Form(
"recHitsFDisk%+dPosXY",
id*sign+sign), Form(
"RecHits position Endcaps Disk%+d;X;Y",
id*sign+sign), 200, -20, 20, 200,-20,20);
185 hFposZPD[is][
id] = iBook.
book2D(Form(
"recHitsFDisk%+dPosZP",
id*sign+sign), Form(
"RecHits position Endcaps Disk%+d;Z;#phi",
id*sign+sign), 600, -60, 60, 200,-3.2,3.2);
186 hFchargeD[is][
id] = iBook.
book1D(Form(
"recHitsFDisk%+dCharge",
id*sign+sign), Form(
"RecHits Charge Endcaps Disk%+d;Charge;#events",
id*sign+sign), 250, 0, 100000);
187 hFsizexD[is][
id] = iBook.
book1D(Form(
"recHitsFDisk%+dSizex",
id*sign+sign), Form(
"RecHits SizeX Endcaps Disk%+d;SizeX;#events",
id*sign+sign), 50, 0, 50);
188 hFsizeyD[is][
id] = iBook.
book1D(Form(
"recHitsFDisk%+dSizey",
id*sign+sign), Form(
"RecHits SizeY Endcaps Disk%+d;SizeY;#events",
id*sign+sign), 50, 0, 50);
197 desc.
add<
std::string>(
"TopFolderName",
"SiPixelHeterogeneous/PixelRecHitsSoA");
const edm::EDGetTokenT< TrackingRecHit2DCPU > tokenSoAHitsCPU_
constexpr int32_t ceil(float num)
MonitorElement * hFsizeyD[2][3]
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
MonitorElement * hFchargeD[2][3]
uint16_t *__restrict__ id
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * hBsizeyL[4]
#define DEFINE_FWK_MODULE(type)
const TrackerGeometry * tkGeom_
unsigned int pxfDisk(const DetId &id) const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &iRun, edm::EventSetup const &iSetup) override
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
MonitorElement * hFposZPD[2][3]
MonitorElement * hBFposZP
unsigned int numberOfLayers(int subdet) const
MonitorElement * hBsizexL[4]
bool getData(T &iHolder) const
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
MonitorElement * hBchargeL[4]
MonitorElement * hFsizexD[2][3]
Abs< T >::type abs(const T &t)
MonitorElement * hBFposZR
ParameterDescriptionBase * add(U const &iLabel, T const &value)
unsigned int pxbLayer(const DetId &id) const
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
MonitorElement * hBposZPL[4]
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
constexpr float short2phi(short x)
const TrackerTopology * tTopo_
MonitorElement * hBposXYL[4]
const std::string topFolderName_
MonitorElement * hFposXYD[2][3]
unsigned int pxfSide(const DetId &id) const
SiPixelPhase1MonitorRecHitsSoA(const edm::ParameterSet &)
MonitorElement * hFcharge
Log< level::Warning, false > LogWarning
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
const DetIdContainer & detUnitIds() const override
Returm a vector of all GeomDetUnit DetIds.
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
~SiPixelPhase1MonitorRecHitsSoA() override=default
MonitorElement * hBcharge