32 #include "CLHEP/Geometry/Point3D.h"
33 #include "CLHEP/Geometry/Vector3D.h"
34 #include "CLHEP/Units/GlobalSystemOfUnits.h"
35 #include "CLHEP/Units/GlobalPhysicalConstants.h"
54 std::vector<edm::ESGetToken<HGCalDDDConstants, IdealGeometryRecord>>
geomToken_;
83 esConsumes<HGCalDDDConstants, IdealGeometryRecord, edm::Transition::BeginRun>(
edm::ESInputTag{
"",
name}));
169 std::vector<float> hitVtxX = infoLayer->hitvtxX();
170 std::vector<float> hitVtxY = infoLayer->hitvtxY();
171 std::vector<float> hitVtxZ = infoLayer->hitvtxZ();
172 std::vector<unsigned int> hitDet = infoLayer->hitDets();
173 std::vector<unsigned int> hitIdx = infoLayer->hitIndex();
176 std::vector<float> edepLayerEE = infoLayer->eehgcEdep();
177 std::vector<float> edepLayerHE = infoLayer->hefhgcEdep();
178 std::vector<float> edepLayerHB = infoLayer->hebhgcEdep();
181 for (i = 0; i < edepLayerEE.size(); i++) {
185 for (i = 0; i < edepLayerHE.size(); i++) {
189 for (i = 0; i < edepLayerHB.size(); i++) {
199 for (
unsigned int i = 0; i < hitVtxX.size(); i++) {
200 hitVtxX.at(i) =
mmtocm * hitVtxX.at(i);
201 hitVtxY.at(i) =
mmtocm * hitVtxY.at(i);
202 hitVtxZ.at(i) =
mmtocm * hitVtxZ.at(i);
208 std::pair<float, float>
xy;
210 int subdet, wafer, celltype, cell;
212 dtype = (subdet == (int)(
HGCEE)) ? 0 : 1;
213 xy =
hgcGeometry_[dtype]->locateCell(cell, layer, wafer,
true);
231 xx = (zside < 0) ? -xy.first : xy.first;
251 }
else if (dtype == 1) {
MonitorElement * heedxVsLayer
Log< level::Info, true > LogVerbatim
T getUntrackedParameter(std::string const &, T const &) const
std::vector< edm::ESGetToken< HGCalDDDConstants, IdealGeometryRecord > > geomToken_
MonitorElement * hebdzVsLayer
MonitorElement * hebdyVsY
MonitorElement * hebdxVsX
edm::EDGetTokenT< PHGCalValidInfo > g4Token_
MonitorElement * hebdzVsZ
MonitorElement * hefdxVsLayer
uint16_t *__restrict__ id
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * hefZG4VsId
bool getByToken(EDGetToken token, Handle< PROD > &result) const
int32_t waferU(const int32_t index)
#define DEFINE_FWK_MODULE(type)
MonitorElement * hebdxVsLayer
MonitorElement * heeZG4VsId
MonitorElement * heedzVsLayer
MonitorElement * hebYG4VsId
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MonitorElement * hebdyVsLayer
constexpr std::array< uint8_t, layerIndexSize > layer
MonitorElement * heedxVsX
bool getData(T &iHolder) const
void addDefault(ParameterSetDescription const &psetDescription)
MonitorElement * heedyVsY
MonitorElement * heeXG4VsId
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
MonitorElement * hefTotEdepStep
MonitorElement * hefYG4VsId
if(conf_.getParameter< bool >("UseStripCablingDB"))
MonitorElement * hefLayerVsEnStep
MonitorElement * heeLayerVsEnStep
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * hebTotEdepStep
Basic2DVector< T > xy() const
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
T getParameter(std::string const &) const
MonitorElement * hebZG4VsId
MonitorElement * hefdyVsLayer
MonitorElement * hebLayerVsEnStep
MonitorElement * hefdyVsY
MonitorElement * heeYG4VsId
std::vector< const HGCalDDDConstants * > hgcGeometry_
int32_t waferV(const int32_t index)
MonitorElement * hefdxVsX
MonitorElement * heedzVsZ
HGCGeometryValidation(const edm::ParameterSet &)
MonitorElement * hefXG4VsId
MonitorElement * heedyVsLayer
std::vector< std::string > geometrySource_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
~HGCGeometryValidation() override
MonitorElement * heeTotEdepStep
MonitorElement * hefdzVsZ
MonitorElement * hefdzVsLayer
static void unpackHexagonIndex(const uint32_t &idx, int &subdet, int &z, int &lay, int &wafer, int &celltyp, int &cell)
MonitorElement * hebXG4VsId