Loads TotemDAQMapping and TotemAnalysisMask from two XML files. More...
Classes | |
struct | ConfigBlock |
Static Public Attributes | |
static const std::string | tagAnalysisMask = "analysisMask" |
static const std::string | tagArm = "arm" |
Common position tags. More... | |
static const std::string | tagChannel = "channel" |
static const std::string | tagChip1 = "vfat" |
COMMON Chip XML tags. More... | |
static const std::string | tagChip2 = "test_vfat" |
static const std::string | tagDiamondCh = "diamond_channel" |
static const std::string | tagDiamondPlane = "rp_plane_diamond" |
diamond specific tags More... | |
static const std::string | tagRPPlane = "rp_plane" |
static const std::string | tagRPPot = "rp_detector_set" |
static const std::string | tagRPStation = "station" |
RP XML tags. More... | |
static const std::string | tagSampicBoard = "rp_sampic_board" |
totem timing specific tags More... | |
static const std::string | tagSampicCh = "rp_sampic_channel" |
static const std::string | tagTotemTimingCh = "timing_channel" |
static const std::string | tagTotemTimingPlane = "timing_plane" |
static const std::string | tagVFAT = "vfat" |
Protected Member Functions | |
void | setIntervalFor (const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) override |
sets infinite validity of this data More... | |
Protected Member Functions inherited from edm::ESProducer | |
template<typename T > | |
auto | setWhatProduced (T *iThis, const es::Label &iLabel={}) |
template<typename T > | |
auto | setWhatProduced (T *iThis, const char *iLabel) |
template<typename T > | |
auto | setWhatProduced (T *iThis, const std::string &iLabel) |
template<typename T , typename TDecorator > | |
auto | setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={}) |
template<typename T , typename TReturn , typename TRecord > | |
auto | setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel={}) |
template<typename T , typename TReturn , typename TRecord , typename TArg > | |
ESConsumesCollectorT< TRecord > | setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel={}) |
Protected Member Functions inherited from edm::ESProxyFactoryProducer | |
template<class TFactory > | |
void | registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string()) |
virtual void | registerFactoryWithKey (const EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string()) |
KeyedProxiesVector | registerProxies (const EventSetupRecordKey &, unsigned int iovIndex) override |
Protected Member Functions inherited from edm::eventsetup::DataProxyProvider | |
template<class T > | |
void | usingRecord () |
void | usingRecordWithKey (const EventSetupRecordKey &key) |
Protected Member Functions inherited from edm::EventSetupRecordIntervalFinder | |
template<class T > | |
void | findingRecord () |
void | findingRecordWithKey (const eventsetup::EventSetupRecordKey &) |
Private Types | |
enum | NodeType { nUnknown, nSkip, nTop, nArm, nRPStation, nRPPot, nRPPlane, nDiamondPlane, nChip, nDiamondCh, nChannel, nSampicBoard, nSampicChannel, nTotemTimingPlane, nTotemTimingCh } |
enumeration of XML node types More... | |
enum | ParseType { pMapping, pMask } |
whether to parse a mapping of a mask XML More... | |
Private Member Functions | |
TotemFramePosition | ChipFramePosition (xercesc::DOMNode *chipnode) |
extracts VFAT's DAQ channel from XML attributes More... | |
bool | CommonNode (NodeType type) |
string | CompleteFileName (const string &fn) |
adds the path prefix, if needed More... | |
bool | DiamondNode (NodeType type) |
void | GetChannels (xercesc::DOMNode *n, std::set< unsigned char > &channels) |
string | GetNodeContent (xercesc::DOMNode *parent) |
returns the content of the node More... | |
NodeType | GetNodeType (xercesc::DOMNode *) |
determines node type More... | |
string | GetNodeValue (xercesc::DOMNode *node) |
returns the value of the node More... | |
void | ParseTreeDiamond (ParseType, xercesc::DOMNode *, NodeType, unsigned int parentID, const std::unique_ptr< TotemDAQMapping > &, const std::unique_ptr< TotemAnalysisMask > &) |
recursive method to extract RP-related information from the DOM tree More... | |
void | ParseTreeRP (ParseType, xercesc::DOMNode *, NodeType, unsigned int parentID, const std::unique_ptr< TotemDAQMapping > &, const std::unique_ptr< TotemAnalysisMask > &) |
recursive method to extract RP-related information from the DOM tree More... | |
void | ParseTreeTotemTiming (ParseType, xercesc::DOMNode *, NodeType, unsigned int parentID, const std::unique_ptr< TotemDAQMapping > &, const std::unique_ptr< TotemAnalysisMask > &) |
recursive method to extract RP-related information from the DOM tree More... | |
void | ParseXML (ParseType, const string &file, const std::unique_ptr< TotemDAQMapping > &, const std::unique_ptr< TotemAnalysisMask > &) |
parses XML file More... | |
bool | RPNode (NodeType type) |
bool | Test (xercesc::DOMNode *node, const std::string &name) |
returns true iff the node is of the given name More... | |
bool | TotemTimingNode (NodeType type) |
Private Attributes | |
vector< ConfigBlock > | configuration |
unsigned int | currentBlock |
index of the current block in 'configuration' array More... | |
bool | currentBlockValid |
flag whether the 'currentBlock' index is valid More... | |
std::vector< std::string > | mappingFileNames |
the mapping files More... | |
string | subSystemName |
label of the CTPPS sub-system More... | |
unsigned int | verbosity |
Additional Inherited Members | |
Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider | |
static void | prevalidate (ConfigurationDescriptions &) |
Protected Types inherited from edm::ESProxyFactoryProducer | |
using | EventSetupRecordKey = eventsetup::EventSetupRecordKey |
Protected Types inherited from edm::eventsetup::DataProxyProvider | |
using | KeyedProxiesVector = std::vector< std::pair< DataKey, std::shared_ptr< DataProxy >>> |
Loads TotemDAQMapping and TotemAnalysisMask from two XML files.
Definition at line 51 of file TotemDAQMappingESSourceXML.cc.
|
private |
enumeration of XML node types
Enumerator | |
---|---|
nUnknown | |
nSkip | |
nTop | |
nArm | |
nRPStation | |
nRPPot | |
nRPPlane | |
nDiamondPlane | |
nChip | |
nDiamondCh | |
nChannel | |
nSampicBoard | |
nSampicChannel | |
nTotemTimingPlane | |
nTotemTimingCh |
Definition at line 113 of file TotemDAQMappingESSourceXML.cc.
|
private |
whether to parse a mapping of a mask XML
Enumerator | |
---|---|
pMapping | |
pMask |
Definition at line 132 of file TotemDAQMappingESSourceXML.cc.
TotemDAQMappingESSourceXML::TotemDAQMappingESSourceXML | ( | const edm::ParameterSet & | conf | ) |
Definition at line 244 of file TotemDAQMappingESSourceXML.cc.
References b, configuration, edm::ParameterSet::getParameter(), TotemDAQMappingESSourceXML::ConfigBlock::mappingFileNames, TotemDAQMappingESSourceXML::ConfigBlock::maskFileNames, edm::ESProducer::setWhatProduced(), subSystemName, and TotemDAQMappingESSourceXML::ConfigBlock::validityRange.
|
override |
Definition at line 306 of file TotemDAQMappingESSourceXML.cc.
|
private |
extracts VFAT's DAQ channel from XML attributes
Definition at line 781 of file TotemDAQMappingESSourceXML.cc.
References a, TotemFramePosition::checkXMLAttributeFlag(), Exception, personalPlayback::fp, dqmiolumiharvest::j, TotemFramePosition::setXMLAttribute(), and cms::xerces::toString().
Referenced by ParseTreeDiamond(), ParseTreeRP(), and ParseTreeTotemTiming().
|
inlineprivate |
Definition at line 201 of file TotemDAQMappingESSourceXML.cc.
References tagAnalysisMask, tagArm, tagChannel, tagChip1, tagChip2, tagDiamondCh, tagDiamondPlane, tagRPPlane, tagRPPot, tagRPStation, tagSampicBoard, tagSampicCh, tagTotemTimingCh, tagTotemTimingPlane, and tagVFAT.
|
private |
adds the path prefix, if needed
Definition at line 310 of file TotemDAQMappingESSourceXML.cc.
References edm::FileInPath::fullPath().
Referenced by produce().
|
inlineprivate |
Definition at line 191 of file TotemDAQMappingESSourceXML.cc.
Referenced by ParseTreeDiamond().
|
private |
Definition at line 849 of file TotemDAQMappingESSourceXML.cc.
References a, class-composition::children, DEFINE_FWK_EVENTSETUP_SOURCE, Exception, mps_fire::i, triggerObjects_cff::id, dqmiolumiharvest::j, Test(), and cms::xerces::toString().
Referenced by ParseTreeRP().
|
inlineprivate |
returns the content of the node
Definition at line 177 of file TotemDAQMappingESSourceXML.cc.
References AlCaHLTBitMon_QueryRunRegistry::string, and cms::xerces::toString().
|
private |
determines node type
Definition at line 806 of file TotemDAQMappingESSourceXML.cc.
References Exception, nArm, nChip, nDiamondCh, nDiamondPlane, nRPPlane, nRPPot, nRPStation, nSampicBoard, nSampicChannel, nSkip, nTotemTimingCh, nTotemTimingPlane, tagArm, tagChip1, tagChip2, tagDiamondCh, tagDiamondPlane, tagRPPlane, tagRPPot, tagRPStation, tagSampicBoard, tagSampicCh, tagTotemTimingCh, tagTotemTimingPlane, Test(), and cms::xerces::toString().
Referenced by ParseTreeDiamond(), ParseTreeRP(), and ParseTreeTotemTiming().
|
inlineprivate |
returns the value of the node
Definition at line 180 of file TotemDAQMappingESSourceXML.cc.
References ewkTauDQM_cfi::channels, dqmiodumpmetadata::n, and cms::xerces::toString().
|
private |
recursive method to extract RP-related information from the DOM tree
Definition at line 521 of file TotemDAQMappingESSourceXML.cc.
References a, class-composition::children, ChipFramePosition(), DiamondNode(), Exception, GetNodeType(), TotemVFATInfo::hwID, mps_fire::i, triggerObjects_cff::id, dqmiolumiharvest::j, dqmiodumpmetadata::n, nArm, nDiamondCh, nDiamondPlane, nRPPot, nRPStation, nTop, nUnknown, pMapping, TotemSymbID::symbolicID, TotemVFATInfo::symbolicID, and cms::xerces::toString().
Referenced by ParseXML().
|
private |
recursive method to extract RP-related information from the DOM tree
Definition at line 376 of file TotemDAQMappingESSourceXML.cc.
References a, class-composition::children, ChipFramePosition(), Exception, TotemVFATAnalysisMask::fullMask, GetChannels(), GetNodeType(), TotemVFATInfo::hwID, mps_fire::i, triggerObjects_cff::id, dqmiolumiharvest::j, TotemVFATAnalysisMask::maskedChannels, dqmiodumpmetadata::n, nArm, nChannel, nChip, nRPPlane, nRPPot, nRPStation, nTop, nUnknown, pMapping, pMask, RPNode(), TotemSymbID::symbolicID, TotemVFATInfo::symbolicID, and cms::xerces::toString().
Referenced by ParseXML().
|
private |
recursive method to extract RP-related information from the DOM tree
Definition at line 647 of file TotemDAQMappingESSourceXML.cc.
References a, class-composition::children, ChipFramePosition(), Exception, GetNodeType(), mps_fire::i, triggerObjects_cff::id, TotemTimingDetId::ID_NOT_SET, dqmiolumiharvest::j, dqmiodumpmetadata::n, nArm, nRPPot, nRPStation, nSampicBoard, nSampicChannel, nTop, nTotemTimingCh, nTotemTimingPlane, nUnknown, pMapping, TotemSymbID::symbolicID, TotemVFATInfo::symbolicID, cms::xerces::toString(), and TotemTimingNode().
Referenced by ParseXML().
|
private |
parses XML file
Definition at line 349 of file TotemDAQMappingESSourceXML.cc.
References Exception, nTop, writedatasetfile::parser, ParseTreeDiamond(), ParseTreeRP(), and ParseTreeTotemTiming().
Referenced by produce().
edm::ESProducts< std::unique_ptr< TotemDAQMapping >, std::unique_ptr< TotemAnalysisMask > > TotemDAQMappingESSourceXML::produce | ( | const TotemReadoutRcd & | ) |
Definition at line 318 of file TotemDAQMappingESSourceXML.cc.
References CompleteFileName(), configuration, currentBlock, currentBlockValid, Exception, personalPlayback::fn, taus_updatedMVAIds_cff::mapping, mappingFileNames, ctppsRawToDigi_cff::maskFileNames, eostools::move(), ParseXML(), pMapping, pMask, edm::es::products(), and cms::xerces::toString().
Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().
|
inlineprivate |
Definition at line 187 of file TotemDAQMappingESSourceXML.cc.
Referenced by ParseTreeRP().
|
overrideprotectedvirtual |
sets infinite validity of this data
Implements edm::EventSetupRecordIntervalFinder.
Definition at line 263 of file TotemDAQMappingESSourceXML.cc.
References begin, configuration, edm::contains(), currentBlock, currentBlockValid, end, edm::EventRange::endEventID(), edm::EventID::event(), edm::IOVSyncValue::eventID(), Exception, training_settings::idx, edm::EventID::luminosityBlock(), edm::eventsetup::EventSetupRecordKey::name(), FastTimerService_cff::range, edm::EventID::run(), and edm::EventRange::startEventID().
|
inlineprivate |
returns true iff the node is of the given name
Definition at line 169 of file TotemDAQMappingESSourceXML.cc.
References cms::xerces::toString().
Referenced by GetChannels(), and GetNodeType().
|
inlineprivate |
|
private |
Definition at line 104 of file TotemDAQMappingESSourceXML.cc.
Referenced by produce(), setIntervalFor(), showPage.BuildViewer::showResults(), and TotemDAQMappingESSourceXML().
|
private |
index of the current block in 'configuration' array
Definition at line 107 of file TotemDAQMappingESSourceXML.cc.
Referenced by produce(), and setIntervalFor().
|
private |
flag whether the 'currentBlock' index is valid
Definition at line 110 of file TotemDAQMappingESSourceXML.cc.
Referenced by produce(), and setIntervalFor().
|
private |
the mapping files
Definition at line 91 of file TotemDAQMappingESSourceXML.cc.
Referenced by produce().
|
private |
label of the CTPPS sub-system
Definition at line 88 of file TotemDAQMappingESSourceXML.cc.
Referenced by TotemDAQMappingESSourceXML().
|
static |
Definition at line 55 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode().
|
static |
Common position tags.
Definition at line 58 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode(), and GetNodeType().
|
static |
Definition at line 54 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode().
|
static |
COMMON Chip XML tags.
Definition at line 66 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode(), and GetNodeType().
|
static |
Definition at line 67 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode(), and GetNodeType().
|
static |
Definition at line 71 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode(), and GetNodeType().
|
static |
diamond specific tags
Definition at line 70 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode(), and GetNodeType().
|
static |
Definition at line 63 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode(), and GetNodeType().
|
static |
Definition at line 62 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode(), and GetNodeType().
|
static |
RP XML tags.
Definition at line 61 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode(), and GetNodeType().
|
static |
totem timing specific tags
Definition at line 74 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode(), and GetNodeType().
|
static |
Definition at line 75 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode(), and GetNodeType().
|
static |
Definition at line 76 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode(), and GetNodeType().
|
static |
Definition at line 77 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode(), and GetNodeType().
|
static |
Definition at line 53 of file TotemDAQMappingESSourceXML.cc.
Referenced by CommonNode().
|
private |
Definition at line 85 of file TotemDAQMappingESSourceXML.cc.