#include <Validation/HGCalValidation/plugins/HGCalWaferValidation.cc>
Classes | |
struct | WaferInfo |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::one::EDAnalyzerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Types | |
using | WaferCoord = std::tuple< int, int, int > |
Private Member Functions | |
void | analyze (const edm::Event &, const edm::EventSetup &) override |
void | beginJob () override |
bool | DDFindHGCal (DDCompactView::GraphWalker &walker, std::string targetName) |
void | DDFindWafers (DDCompactView::GraphWalker &walker) |
void | endJob () override |
void | ProcessWaferLayer (DDCompactView::GraphWalker &walker) |
std::string | strWaferCoord (const WaferCoord &coord) |
Private Attributes | |
edm::FileInPath | geometryFileName_ |
const std::string | logcat = "HGCalWaferValidation" |
edm::ESGetToken< DDCompactView, IdealGeometryRecord > | viewToken_ |
std::map< WaferCoord, struct WaferInfo > | waferData |
std::map< WaferCoord, bool > | waferValidated |
Additional Inherited Members | |
Public Types inherited from edm::one::EDAnalyzerBase | |
typedef EDAnalyzerBase | ModuleType |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
template<BranchType B = InEvent> | |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<Transition Tr = Transition::Event> | |
constexpr auto | esConsumes () noexcept |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) noexcept |
template<Transition Tr = Transition::Event> | |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
Used with EventSetupRecord::doGet. More... | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
void | resetItemsToGetFrom (BranchType iType) |
Description: Validates HGCal wafer data inside DD against specifications given in a flat text file.
Implementation: Uses GraphWalker to follow DD hierarchy to find HGCal EE module and the HE modules. Search of wafer layers and iterates each wafer found. Extract x, y coordinate position from wafer positioning; thickness, u & v coords from copyNo. Wafer shape and rotation are extracted from given names of wafer logical volumes. All extracted wafer info saved into a map indexed by (layer#, u, v). Each line in flat text file are compared against wafer information in the map. Any errors are reported, counted and summarized at the end. Unaccounted wafers, which are in DD but not in the flat text file, are also reported and counted.
Definition at line 62 of file HGCalWaferValidation.cc.
|
private |
Definition at line 74 of file HGCalWaferValidation.cc.
|
explicit |
Definition at line 120 of file HGCalWaferValidation.cc.
References viewToken_.
|
override |
Definition at line 126 of file HGCalWaferValidation.cc.
|
overrideprivatevirtual |
Implements edm::one::EDAnalyzerBase.
Definition at line 247 of file HGCalWaferValidation.cc.
References visDQMUpload::buf, DDFindHGCal(), DDFindWafers(), MillePedeFileConverter_cfg::fileName, edm::FileInPath::fullPath(), geometryFileName_, edm::EventSetup::getHandle(), logcat, HGCalWaferValidation::WaferInfo::rotCode, HGCalWaferValidation::WaferInfo::shapeCode, contentValuesCheck::ss, AlCaHLTBitMon_QueryRunRegistry::string, strWaferCoord(), HGCalWaferValidation::WaferInfo::thickClass, viewToken_, waferData, HGCalWaferIndex::waferLayer(), HGCalWaferIndex::waferU(), HGCalWaferIndex::waferV(), waferValidated, HGCalWaferValidation::WaferInfo::x, and HGCalWaferValidation::WaferInfo::y.
|
overrideprivatevirtual |
Reimplemented from edm::one::EDAnalyzerBase.
Definition at line 509 of file HGCalWaferValidation.cc.
|
private |
Definition at line 145 of file HGCalWaferValidation.cc.
References math::GraphWalker< N, E >::current(), math::GraphWalker< N, E >::firstChild(), math::GraphWalker< N, E >::nextSibling(), and math::GraphWalker< N, E >::parent().
Referenced by analyze().
|
private |
Definition at line 162 of file HGCalWaferValidation.cc.
References math::GraphWalker< N, E >::current(), math::GraphWalker< N, E >::firstChild(), math::GraphWalker< N, E >::nextSibling(), math::GraphWalker< N, E >::parent(), and ProcessWaferLayer().
Referenced by analyze().
|
overrideprivatevirtual |
Reimplemented from edm::one::EDAnalyzerBase.
Definition at line 514 of file HGCalWaferValidation.cc.
|
static |
Definition at line 519 of file HGCalWaferValidation.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), and submitPVResolutionJobs::desc.
|
private |
Definition at line 177 of file HGCalWaferValidation.cc.
References math::GraphWalker< N, E >::current(), HGCalTypes::getUnpackedType(), HGCalTypes::getUnpackedU(), HGCalTypes::getUnpackedV(), logcat, math::GraphWalker< N, E >::nextSibling(), HGCalWaferValidation::WaferInfo::rotCode, HGCalWaferValidation::WaferInfo::shapeCode, contentValuesCheck::ss, AlCaHLTBitMon_QueryRunRegistry::string, HGCalWaferValidation::WaferInfo::thickClass, waferData, HGCalWaferIndex::waferLayer(), HGCalWaferIndex::waferU(), HGCalWaferIndex::waferV(), waferValidated, HGCalWaferValidation::WaferInfo::x, and HGCalWaferValidation::WaferInfo::y.
Referenced by DDFindWafers().
|
private |
Definition at line 138 of file HGCalWaferValidation.cc.
References contentValuesCheck::ss.
Referenced by analyze().
|
private |
Definition at line 88 of file HGCalWaferValidation.cc.
Referenced by analyze().
|
private |
Definition at line 71 of file HGCalWaferValidation.cc.
Referenced by analyze(), and ProcessWaferLayer().
|
private |
Definition at line 100 of file HGCalWaferValidation.cc.
Referenced by analyze(), and HGCalWaferValidation().
|
private |
Definition at line 103 of file HGCalWaferValidation.cc.
Referenced by analyze(), and ProcessWaferLayer().
|
private |
Definition at line 106 of file HGCalWaferValidation.cc.
Referenced by analyze(), and ProcessWaferLayer().