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_;
79 geometrySource_ =
cfg.getUntrackedParameter<std::vector<std::string>>(
"geometrySource");
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;
251 }
else if (
dtype == 1) {
MonitorElement * heedxVsLayer
Log< level::Info, true > LogVerbatim
std::vector< edm::ESGetToken< HGCalDDDConstants, IdealGeometryRecord > > geomToken_
MonitorElement * hebdzVsLayer
MonitorElement * hebdyVsY
std::vector< unsigned int > hitIndex() const
MonitorElement * hebdxVsX
edm::EDGetTokenT< PHGCalValidInfo > g4Token_
MonitorElement * hebdzVsZ
MonitorElement * hefdxVsLayer
std::vector< float > hefhgcEdep() const
std::vector< float > hitvtxZ() const
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * hefZG4VsId
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)
std::vector< unsigned int > hitDets() const
MonitorElement * hebdyVsLayer
constexpr std::array< uint8_t, layerIndexSize > layer
MonitorElement * heedxVsX
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
MonitorElement * hefLayerVsEnStep
MonitorElement * heeLayerVsEnStep
std::vector< float > eehgcEdep() const
bool getData(T &iHolder) const
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< float > hebhgcEdep() const
MonitorElement * hebTotEdepStep
std::vector< float > hitvtxY() const
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
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)
std::vector< float > hitvtxX() const
MonitorElement * hebXG4VsId