![]() |
![]() |
Definition at line 56 of file L1CaloTriggerSetupProducer.cc.
typedef boost::shared_ptr<L1CaloTriggerSetup> L1CaloTriggerSetupProducer::ReturnType |
Definition at line 61 of file L1CaloTriggerSetupProducer.cc.
L1CaloTriggerSetupProducer::L1CaloTriggerSetupProducer | ( | const edm::ParameterSet & | iConfig | ) |
Definition at line 131 of file L1CaloTriggerSetupProducer.cc.
References edm::ParameterSet::getParameter(), and edm::ESProducer::setWhatProduced().
{ mInputfile = iConfig.getParameter<edm::FileInPath>("InputXMLFile"); //the following line is needed to tell the framework what // data is being produced setWhatProduced(this); }
L1CaloTriggerSetupProducer::~L1CaloTriggerSetupProducer | ( | ) |
Definition at line 142 of file L1CaloTriggerSetupProducer.cc.
{ }
void L1CaloTriggerSetupProducer::config | ( | L1CaloTriggerSetup & | rcd | ) | [private] |
Definition at line 305 of file L1CaloTriggerSetupProducer.cc.
References L1CaloTriggerSetup::addWire(), i, L1CaloTriggerSetup::setGeometry(), L1CaloTriggerSetup::setThresholds(), TAG_CARD, TAG_GEO, TAG_SETTINGS, and TAG_WIRE.
Referenced by produce().
{ //Read Document DOMDocument* xmlDoc = m_ConfigFileParser->getDocument(); //get Root XML element <root> DOMElement* elementRoot = xmlDoc->getDocumentElement(); if( !elementRoot ) throw(std::runtime_error( "empty XML document" )); DOMNodeList* children = elementRoot->getChildNodes(); const XMLSize_t nodeCount = children->getLength(); //loop through XML entries for( XMLSize_t xx = 0; xx < nodeCount; ++xx ) { DOMNode* currentNode = children->item(xx); if( currentNode->getNodeType() && currentNode->getNodeType() == DOMNode::ELEMENT_NODE ) { DOMElement* currentElement = dynamic_cast< xercesc::DOMElement* >( currentNode ); //Search for Clustering Card if( XMLString::equals(currentElement->getTagName(), TAG_CARD)) { edm::LogInfo ("INFO") << "FOUND XML Setup information"<<endl; //Loop on the Children of the Clustering Card DOMNodeList* card_c = currentElement->getChildNodes(); XMLSize_t cardc_count = card_c->getLength(); for( XMLSize_t i = 0; i < cardc_count; ++i) { DOMNode* Nodei = card_c->item(i); if( Nodei->getNodeType() && Nodei->getNodeType() == DOMNode::ELEMENT_NODE ) { DOMElement* cc_el = dynamic_cast< xercesc::DOMElement* >( Nodei ); //Look for geo if( XMLString::equals(cc_el->getTagName(), TAG_GEO)) { int geo_eta =atoi(XMLString::transcode(cc_el->getAttribute(ATT_GEO_eta))); int geo_phi =atoi(XMLString::transcode(cc_el->getAttribute(ATT_GEO_phi))); int geo_etam =atoi(XMLString::transcode(cc_el->getAttribute(ATT_GEO_etam))); int geo_phim =atoi(XMLString::transcode(cc_el->getAttribute(ATT_GEO_phim))); int geo_dim =atoi(XMLString::transcode(cc_el->getAttribute(ATT_GEO_dim))); //Store geo on the card rcd.setGeometry(geo_eta,geo_phi,geo_etam,geo_phim,geo_dim); edm::LogInfo ("INFO") << "Geometry Set "<<endl; } //Look for SETTINGS if( XMLString::equals(cc_el->getTagName(), TAG_SETTINGS)) { int att_ECALTower =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_ECALTower))); int att_HCALTower =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_HCALTower))); int att_TauSeedTower =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_TauSeedTower))); int att_ElectronCutA =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_ElectronCutA))); int att_ElectronCutB =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_ElectronCutB))); int att_ElectronCutC =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_ElectronCutC))); int att_ClusterCut =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_ClusterCut))); int att_isoEA =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_IsolationEA))); int att_isoEB =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_IsolationEB))); int att_isoTA =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_IsolationTA))); int att_isoTB =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_IsolationTB))); int att_isoZone =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_IsolationZone))); int att_isoPedEG =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_IsolationPedestalEG))); int att_isoPedTau =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_IsolationPedestalTau))); // int att_jetC =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_JetCenter))); int att_jetET =atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_JetET))); int att_fineGrainPass = atoi(XMLString::transcode(cc_el->getAttribute(ATT_SETTINGS_FineGrainPass))); //Store Activity Cuts on the Card rcd.setThresholds(att_ECALTower, att_HCALTower, att_ElectronCutA, att_ElectronCutB, att_ElectronCutC, att_TauSeedTower, att_ClusterCut, att_isoEA, att_isoEB, att_isoTA, att_isoTB, att_isoZone, att_isoPedEG, att_isoPedTau, // att_jetC, att_jetET, att_fineGrainPass ); edm::LogInfo ("INFO") << "Thresholds Set"<<endl; } //Look for Wires if( XMLString::equals(cc_el->getTagName(), TAG_WIRE)) { int wire_bin =atoi(XMLString::transcode(cc_el->getAttribute(ATT_WIRE_bin))); int wire_eta =atoi(XMLString::transcode(cc_el->getAttribute(ATT_WIRE_eta))); int wire_phi =atoi(XMLString::transcode(cc_el->getAttribute(ATT_WIRE_phi))); //store wires rcd.addWire(wire_bin,wire_eta,wire_phi); } } } } } } }
void L1CaloTriggerSetupProducer::openFile | ( | std::string & | ) | throw (std::runtime_error) [private] |
Definition at line 272 of file L1CaloTriggerSetupProducer.cc.
References HDQMDatabaseProducer::configFile.
Referenced by produce().
{ // Test to see if the file is ok. struct stat fileStatus; int iretStat = stat(configFile.c_str(), &fileStatus); if( iretStat == ENOENT ) printf("Path file_name does not exist, or path is an empty string."); else if( iretStat == ENOTDIR ) printf("A component of the path is not a directory."); else if( iretStat == ELOOP ) printf("Too many symbolic links encountered while traversing the path."); else if( iretStat == EACCES ) printf("Permission denied."); else if( iretStat == ENAMETOOLONG ) printf("File can not be read\n"); // Configure DOM parser. m_ConfigFileParser->setValidationScheme( XercesDOMParser::Val_Never ); m_ConfigFileParser->setDoNamespaces( false ); m_ConfigFileParser->setDoSchema( false ); m_ConfigFileParser->setLoadExternalDTD( false ); m_ConfigFileParser->parse( configFile.c_str() ); }
L1CaloTriggerSetupProducer::ReturnType L1CaloTriggerSetupProducer::produce | ( | const L1CaloTriggerSetupRcd & | iRecord | ) |
Definition at line 156 of file L1CaloTriggerSetupProducer.cc.
References config(), UserOptions_cff::filePath, SLHCCaloTrigger_cfi::L1CaloTriggerSetup, openFile(), fetchall_from_DQM_v2::release, HcalObjRepresent::setup(), and AlCaHLTBitMon_QueryRunRegistry::string.
{ using namespace edm::es; L1CaloTriggerSetup *setup = new L1CaloTriggerSetup(); std::string filePath = mInputfile.fullPath(); edm::LogInfo ("INFO") << "Configuration File:"<<filePath << endl; edm::LogInfo ("INFO") << "Initializing XERCES" << endl; XMLPlatformUtils::Initialize(); // Initialize Xerces infrastructure edm::LogInfo ("INFO") << "Creating XML Tags" << endl; //Mother Card : ClusteringCard TAG_CARD =XMLString::transcode("CARD"); //Geometry Setup TAG_GEO =XMLString::transcode("GEOMETRY"); ATT_GEO_eta=XMLString::transcode("eta0"); ATT_GEO_phi=XMLString::transcode("phi0"); ATT_GEO_dim=XMLString::transcode("dim"); ATT_GEO_etam=XMLString::transcode("etam"); ATT_GEO_phim=XMLString::transcode("phim"); //Algorithm Settings TAG_SETTINGS=XMLString::transcode("SETTINGS"); ATT_SETTINGS_ECALTower=XMLString::transcode("ECALTower"); ATT_SETTINGS_HCALTower=XMLString::transcode("HCALTower"); ATT_SETTINGS_ClusterCut=XMLString::transcode("ClusterThr"); ATT_SETTINGS_ElectronCutA=XMLString::transcode("ElectronConstant"); ATT_SETTINGS_ElectronCutB=XMLString::transcode("ElectronThreshold"); ATT_SETTINGS_ElectronCutC=XMLString::transcode("ElectronSlope"); ATT_SETTINGS_TauSeedTower=XMLString::transcode("TauSeedTower"); ATT_SETTINGS_IsolationEA=XMLString::transcode("IsolationElectronA"); ATT_SETTINGS_IsolationEB=XMLString::transcode("IsolationElectronB"); ATT_SETTINGS_IsolationTA=XMLString::transcode("IsolationTauA"); ATT_SETTINGS_IsolationTB=XMLString::transcode("IsolationTauB"); ATT_SETTINGS_IsolationZone=XMLString::transcode("IsolationZone"); ATT_SETTINGS_IsolationPedestalEG=XMLString::transcode("IsolationThresholdElectron"); ATT_SETTINGS_IsolationPedestalTau=XMLString::transcode("IsolationThresholdTau"); // ATT_SETTINGS_JetCenter=XMLString::transcode("JetCenter"); ATT_SETTINGS_JetET=XMLString::transcode("JetEt"); ATT_SETTINGS_FineGrainPass=XMLString::transcode("FineGrainPass"); //Wire Information TAG_WIRE=XMLString::transcode("WIRE"); ATT_WIRE_bin=XMLString::transcode("no"); ATT_WIRE_eta=XMLString::transcode("eta"); ATT_WIRE_phi=XMLString::transcode("phi"); TAG_CARD = XMLString::transcode("CARD"); //Initialize the parser edm::LogInfo ("INFO") << "Initializing XERCES Parser" << endl; m_ConfigFileParser = new XercesDOMParser; edm::LogInfo ("INFO") << "Opening File..." << endl; openFile(filePath); edm::LogInfo ("INFO") << "Parsing Configuration"<<endl; config(*setup); edm::LogInfo ("INFO") << "terminating XERCES"<<endl; XMLPlatformUtils::Terminate(); // Terminate Xerces XMLString::release(&TAG_CARD); XMLString::release(&TAG_GEO); XMLString::release(&ATT_GEO_eta); XMLString::release(&ATT_GEO_phi); XMLString::release(&ATT_GEO_dim); XMLString::release(&TAG_SETTINGS); XMLString::release(&ATT_SETTINGS_ECALTower); XMLString::release(&ATT_SETTINGS_HCALTower); XMLString::release(&ATT_SETTINGS_TauSeedTower); XMLString::release(&ATT_SETTINGS_ElectronCutA); XMLString::release(&ATT_SETTINGS_ElectronCutB); XMLString::release(&ATT_SETTINGS_ElectronCutC); XMLString::release(&ATT_SETTINGS_ClusterCut); XMLString::release(&ATT_SETTINGS_IsolationEA); XMLString::release(&ATT_SETTINGS_IsolationEB); XMLString::release(&ATT_SETTINGS_IsolationTA); XMLString::release(&ATT_SETTINGS_IsolationTB); XMLString::release(&ATT_SETTINGS_IsolationZone); // XMLString::release(&ATT_SETTINGS_JetCenter); XMLString::release(&ATT_SETTINGS_JetET); XMLString::release(&ATT_SETTINGS_FineGrainPass); XMLString::release(&TAG_WIRE); XMLString::release(&ATT_WIRE_bin); XMLString::release(&ATT_WIRE_eta); XMLString::release(&ATT_WIRE_phi); XMLString::release(&ATT_SETTINGS_IsolationPedestalEG); XMLString::release(&ATT_SETTINGS_IsolationPedestalTau); edm::LogInfo ("INFO") << "Creating Setup Module"<<endl; boost::shared_ptr<L1CaloTriggerSetup> rcd =(boost::shared_ptr<L1CaloTriggerSetup>) setup ; edm::LogInfo ("INFO") << "Event Setup Successfull"<<endl; return rcd ; }
XMLCh* L1CaloTriggerSetupProducer::ATT_GEO_dim [private] |
Definition at line 83 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_GEO_eta [private] |
Definition at line 79 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_GEO_etam [private] |
Definition at line 81 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_GEO_phi [private] |
Definition at line 80 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_GEO_phim [private] |
Definition at line 82 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_ClusterCut [private] |
Definition at line 95 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_ECALTower [private] |
Definition at line 87 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_ElectronCutA [private] |
Definition at line 89 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_ElectronCutB [private] |
Definition at line 90 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_ElectronCutC [private] |
Definition at line 91 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_FineGrainPass [private] |
Definition at line 107 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_HCALTower [private] |
Definition at line 88 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_IsolationEA [private] |
Definition at line 96 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_IsolationEB [private] |
Definition at line 97 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_IsolationPedestalEG [private] |
Definition at line 101 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_IsolationPedestalTau [private] |
Definition at line 102 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_IsolationTA [private] |
Definition at line 98 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_IsolationTB [private] |
Definition at line 99 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_IsolationZone [private] |
Definition at line 100 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_JetET [private] |
Definition at line 106 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_SETTINGS_TauSeedTower [private] |
Definition at line 93 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_WIRE_bin [private] |
Definition at line 110 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_WIRE_eta [private] |
Definition at line 111 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::ATT_WIRE_phi [private] |
Definition at line 112 of file L1CaloTriggerSetupProducer.cc.
xercesc::XercesDOMParser* L1CaloTriggerSetupProducer::m_ConfigFileParser [private] |
Definition at line 72 of file L1CaloTriggerSetupProducer.cc.
Definition at line 71 of file L1CaloTriggerSetupProducer.cc.
XMLCh* L1CaloTriggerSetupProducer::TAG_CARD [private] |
Definition at line 115 of file L1CaloTriggerSetupProducer.cc.
Referenced by config().
XMLCh* L1CaloTriggerSetupProducer::TAG_GEO [private] |
Definition at line 78 of file L1CaloTriggerSetupProducer.cc.
Referenced by config().
XMLCh* L1CaloTriggerSetupProducer::TAG_SETTINGS [private] |
Definition at line 84 of file L1CaloTriggerSetupProducer.cc.
Referenced by config().
XMLCh* L1CaloTriggerSetupProducer::TAG_WIRE [private] |
Definition at line 109 of file L1CaloTriggerSetupProducer.cc.
Referenced by config().