#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 > |
using | WaferShapeMap = std::map< std::string, 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 |
bool | isRotationMatched (const bool isNewFile, const int layer, const int fileShapeCode, const int geoRotCode, const int fileRotCode) |
bool | isThicknessMatched (const int geoThickClass, const int fileThickness) |
void | ProcessWaferLayer (DDCompactView::GraphWalker &walker) |
std::string | strWaferCoord (const WaferCoord &coord) |
Private Attributes | |
edm::FileInPath | geometryFileName_ |
unsigned int | layerCount_ |
std::vector< int > | layerTypes_ |
const std::string | logcat = "HGCalWaferValidation" |
edm::ESGetToken< DDCompactView, IdealGeometryRecord > | viewToken_ |
std::map< WaferCoord, struct WaferInfo > | waferData_ |
const WaferShapeMap | waferShapeMapDD |
const WaferShapeMap | waferShapeMapHD |
const WaferShapeMap | waferShapeMapLD |
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 () |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) |
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 72 of file HGCalWaferValidation.cc.
|
private |
Definition at line 84 of file HGCalWaferValidation.cc.
|
private |
Definition at line 89 of file HGCalWaferValidation.cc.
|
explicit |
Definition at line 167 of file HGCalWaferValidation.cc.
References viewToken_.
|
override |
Definition at line 173 of file HGCalWaferValidation.cc.
|
overrideprivatevirtual |
Implements edm::one::EDAnalyzerBase.
Definition at line 304 of file HGCalWaferValidation.cc.
References visDQMUpload::buf, DDFindHGCal(), DDFindWafers(), MillePedeFileConverter_cfg::fileName, edm::FileInPath::fullPath(), geometryFileName_, edm::EventSetup::getHandle(), mps_fire::i, isRotationMatched(), isThicknessMatched(), layerCount_, layerTypes_, logcat, HGCalWaferValidation::WaferInfo::rotCode, HGCalWaferValidation::WaferInfo::shapeCode, contentValuesCheck::ss, AlCaHLTBitMon_QueryRunRegistry::string, strWaferCoord(), HGCalWaferValidation::WaferInfo::thickClass, viewToken_, waferData_, HGCalWaferIndex::waferLayer(), HGCalWaferValidation::WaferInfo::waferName, waferShapeMapDD, waferShapeMapHD, waferShapeMapLD, HGCalWaferIndex::waferU(), HGCalWaferIndex::waferV(), waferValidated_, HGCalWaferValidation::WaferInfo::x, and HGCalWaferValidation::WaferInfo::y.
|
overrideprivatevirtual |
Reimplemented from edm::one::EDAnalyzerBase.
Definition at line 535 of file HGCalWaferValidation.cc.
|
private |
Definition at line 192 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 209 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 540 of file HGCalWaferValidation.cc.
|
static |
Definition at line 545 of file HGCalWaferValidation.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), and submitPVResolutionJobs::desc.
|
private |
Definition at line 287 of file HGCalWaferValidation.cc.
References layerTypes_.
Referenced by analyze().
|
private |
Definition at line 276 of file HGCalWaferValidation.cc.
Referenced by analyze().
|
private |
Definition at line 224 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(), HGCalWaferValidation::WaferInfo::waferName, waferShapeMapDD, HGCalWaferIndex::waferU(), HGCalWaferIndex::waferV(), waferValidated_, HGCalWaferValidation::WaferInfo::x, and HGCalWaferValidation::WaferInfo::y.
Referenced by DDFindWafers().
|
private |
Definition at line 185 of file HGCalWaferValidation.cc.
References contentValuesCheck::ss.
Referenced by analyze().
|
private |
Definition at line 130 of file HGCalWaferValidation.cc.
Referenced by analyze().
|
private |
Definition at line 133 of file HGCalWaferValidation.cc.
Referenced by analyze().
|
private |
Definition at line 134 of file HGCalWaferValidation.cc.
Referenced by analyze(), and isRotationMatched().
|
private |
Definition at line 81 of file HGCalWaferValidation.cc.
Referenced by analyze(), and ProcessWaferLayer().
|
private |
Definition at line 147 of file HGCalWaferValidation.cc.
Referenced by analyze(), and HGCalWaferValidation().
|
private |
Definition at line 150 of file HGCalWaferValidation.cc.
Referenced by analyze(), and ProcessWaferLayer().
|
private |
Definition at line 91 of file HGCalWaferValidation.cc.
Referenced by analyze(), and ProcessWaferLayer().
|
private |
Definition at line 110 of file HGCalWaferValidation.cc.
Referenced by analyze().
|
private |
Definition at line 102 of file HGCalWaferValidation.cc.
Referenced by analyze().
|
private |
Definition at line 153 of file HGCalWaferValidation.cc.
Referenced by analyze(), and ProcessWaferLayer().