CMS 3D CMS Logo

L1GtTriggerMenuXmlProducer Class Reference

Description: ESProducer for the L1 Trigger Menu from an XML file . More...

#include <L1TriggerConfig/L1GtConfigProducers/interface/L1GtTriggerMenuXmlProducer.h>

Inheritance diagram for L1GtTriggerMenuXmlProducer:

edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

List of all members.

Public Member Functions

 L1GtTriggerMenuXmlProducer (const edm::ParameterSet &)
 constructor
boost::shared_ptr
< L1GtTriggerMenu
produceGtTriggerMenu (const L1GtTriggerMenuRcd &)
 public methods
 ~L1GtTriggerMenuXmlProducer ()
 destructor

Private Attributes

std::string m_defXmlFile
 XML file for Global Trigger menu (def.xml).
std::string m_vmeXmlFile
 XML file for Global Trigger VME configuration (vme.xml).


Detailed Description

Description: ESProducer for the L1 Trigger Menu from an XML file .

Implementation: <TODO: enter implementation details>

Author:
: Vasile Mihai Ghete - HEPHY Vienna
$Date$ $Revision$

Implementation: <TODO: enter implementation details>

Author:
: Vasile Mihai Ghete - HEPHY Vienna
$Date$ $Revision$

Definition at line 40 of file L1GtTriggerMenuXmlProducer.h.


Constructor & Destructor Documentation

L1GtTriggerMenuXmlProducer::L1GtTriggerMenuXmlProducer ( const edm::ParameterSet parSet  ) 

constructor

Definition at line 49 of file L1GtTriggerMenuXmlProducer.cc.

References lat::endl(), f1, f2, edm::FileInPath::fullPath(), edm::ParameterSet::getParameter(), m_defXmlFile, m_vmeXmlFile, produceGtTriggerMenu(), and edm::ESProducer::setWhatProduced().

00051 {
00052     // tell the framework what data is being produced
00053     setWhatProduced(this, &L1GtTriggerMenuXmlProducer::produceGtTriggerMenu);
00054 
00055 
00056     // now do what ever other initialization is needed
00057 
00058 
00059     // directory in /data/Luminosity for the trigger menu
00060     std::string menuDir = parSet.getParameter<std::string>("TriggerMenuLuminosity");
00061 
00062 
00063     // def.xml file
00064     std::string defXmlFileName = parSet.getParameter<std::string>("DefXmlFile");
00065 
00066     edm::FileInPath f1("L1TriggerConfig/L1GtConfigProducers/data/Luminosity/" +
00067                        menuDir + "/" + defXmlFileName);
00068 
00069     m_defXmlFile = f1.fullPath();
00070 
00071 
00072     // vme.xml file
00073     std::string vmeXmlFileName = parSet.getParameter<std::string>("VmeXmlFile");
00074 
00075     if (vmeXmlFileName != "") {
00076         edm::FileInPath f2("L1TriggerConfig/L1GtConfigProducers/data/Luminosity/" +
00077                            menuDir + "/" + vmeXmlFileName);
00078 
00079         m_vmeXmlFile = f2.fullPath();
00080 
00081     }
00082 
00083     edm::LogInfo("L1GtConfigProducers")
00084     << "\n\nL1 Trigger Menu: "
00085     << "\n\n  def.xml file: \n    " << m_defXmlFile
00086     << "\n\n  vme.xml file: \n    " << m_vmeXmlFile
00087     << "\n\n"
00088     << std::endl;
00089 
00090 }

L1GtTriggerMenuXmlProducer::~L1GtTriggerMenuXmlProducer (  ) 

destructor

Definition at line 93 of file L1GtTriggerMenuXmlProducer.cc.

00094 {
00095 
00096     // empty
00097 
00098 }


Member Function Documentation

boost::shared_ptr< L1GtTriggerMenu > L1GtTriggerMenuXmlProducer::produceGtTriggerMenu ( const L1GtTriggerMenuRcd l1MenuRecord  ) 

public methods

L1 GT parameters

Definition at line 104 of file L1GtTriggerMenuXmlProducer.cc.

References L1GtTriggerMenuXmlParser::corCaloTemplate(), L1GtTriggerMenuXmlParser::corEnergySumTemplate(), L1GtTriggerMenuXmlParser::corMuonTemplate(), edm::eventsetup::EventSetupRecordImplementation< T >::get(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), L1GtTriggerMenuXmlParser::gtAlgorithmMap(), L1GtTriggerMenuXmlParser::gtTechnicalTriggerMap(), L1GtTriggerMenuXmlParser::gtTriggerMenuName(), m_defXmlFile, m_vmeXmlFile, L1GtTriggerMenuXmlParser::parseXmlFile(), L1GtTriggerMenuXmlParser::setGtNumberConditionChips(), L1GtTriggerMenuXmlParser::setGtNumberL1JetCounts(), L1GtTriggerMenuXmlParser::setGtNumberPhysTriggers(), L1GtTriggerMenuXmlParser::setGtNumberTechTriggers(), L1GtTriggerMenuXmlParser::setGtOrderConditionChip(), L1GtTriggerMenuXmlParser::setGtPinsOnConditionChip(), L1GtTriggerMenuXmlParser::vecCaloTemplate(), L1GtTriggerMenuXmlParser::vecCastorTemplate(), L1GtTriggerMenuXmlParser::vecCorrelationTemplate(), L1GtTriggerMenuXmlParser::vecEnergySumTemplate(), L1GtTriggerMenuXmlParser::vecHfBitCountsTemplate(), L1GtTriggerMenuXmlParser::vecHfRingEtSumsTemplate(), L1GtTriggerMenuXmlParser::vecJetCountsTemplate(), and L1GtTriggerMenuXmlParser::vecMuonTemplate().

Referenced by L1GtTriggerMenuXmlProducer().

00106 {
00107 
00108     // get the parameters needed from other records
00109     const L1GtStableParametersRcd& stableParametersRcd =
00110         l1MenuRecord.getRecord<L1GtStableParametersRcd>();
00111 
00112     edm::ESHandle<L1GtStableParameters> stableParameters;
00113     stableParametersRcd.get(stableParameters);
00114 
00115     unsigned int numberConditionChips = stableParameters->gtNumberConditionChips();
00116     unsigned int pinsOnConditionChip = stableParameters->gtPinsOnConditionChip();
00117     std::vector<int> orderConditionChip = stableParameters->gtOrderConditionChip();
00118     unsigned int numberPhysTriggers = stableParameters->gtNumberPhysTriggers();
00119     unsigned int numberTechTriggers = stableParameters->gtNumberTechnicalTriggers();
00120     unsigned int numberL1JetCounts = stableParameters->gtNumberL1JetCounts();
00121 
00122     L1GtTriggerMenuXmlParser gtXmlParser = L1GtTriggerMenuXmlParser();
00123 
00124     gtXmlParser.setGtNumberConditionChips(numberConditionChips);
00125     gtXmlParser.setGtPinsOnConditionChip(pinsOnConditionChip);
00126     gtXmlParser.setGtOrderConditionChip(orderConditionChip);
00127     gtXmlParser.setGtNumberPhysTriggers(numberPhysTriggers);
00128     gtXmlParser.setGtNumberTechTriggers(numberTechTriggers);
00129     gtXmlParser.setGtNumberL1JetCounts(numberL1JetCounts);
00130 
00131     gtXmlParser.parseXmlFile(m_defXmlFile, m_vmeXmlFile);
00132 
00133     // transfer the condition map and algorithm map from parser to L1GtTriggerMenu
00134 
00135     boost::shared_ptr<L1GtTriggerMenu> pL1GtTriggerMenu = boost::shared_ptr<L1GtTriggerMenu>(
00136                 new L1GtTriggerMenu(gtXmlParser.gtTriggerMenuName(), numberConditionChips,
00137                         gtXmlParser.vecMuonTemplate(),
00138                         gtXmlParser.vecCaloTemplate(),
00139                         gtXmlParser.vecEnergySumTemplate(),
00140                         gtXmlParser.vecJetCountsTemplate(),
00141                         gtXmlParser.vecCastorTemplate(),
00142                         gtXmlParser.vecHfBitCountsTemplate(),
00143                         gtXmlParser.vecHfRingEtSumsTemplate(),
00144                         gtXmlParser.vecCorrelationTemplate(),
00145                         gtXmlParser.corMuonTemplate(),
00146                         gtXmlParser.corCaloTemplate(),
00147                         gtXmlParser.corEnergySumTemplate()) );
00148 
00149 
00150     pL1GtTriggerMenu->setGtAlgorithmMap(gtXmlParser.gtAlgorithmMap());
00151     pL1GtTriggerMenu->setGtTechnicalTriggerMap(gtXmlParser.gtTechnicalTriggerMap());
00152 
00153     //LogDebug("L1GtConfigProducers")
00154     //<< "\n\nReturning L1 Trigger Menu!"
00155     //<< "\n\n"
00156     //<< std::endl;
00157 
00158     return pL1GtTriggerMenu ;
00159 }


Member Data Documentation

std::string L1GtTriggerMenuXmlProducer::m_defXmlFile [private]

XML file for Global Trigger menu (def.xml).

Definition at line 61 of file L1GtTriggerMenuXmlProducer.h.

Referenced by L1GtTriggerMenuXmlProducer(), and produceGtTriggerMenu().

std::string L1GtTriggerMenuXmlProducer::m_vmeXmlFile [private]

XML file for Global Trigger VME configuration (vme.xml).

Definition at line 64 of file L1GtTriggerMenuXmlProducer.h.

Referenced by L1GtTriggerMenuXmlProducer(), and produceGtTriggerMenu().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:26:46 2009 for CMSSW by  doxygen 1.5.4