CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
l1t::L1TCaloStage1LutWriter Class Reference
Inheritance diagram for l1t::L1TCaloStage1LutWriter:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 L1TCaloStage1LutWriter (const edm::ParameterSet &)
 
bool openOutputFile (const std::string &fileName, std::ofstream &file)
 
void writeIsoTauLut (const std::string &fileName)
 
 ~L1TCaloStage1LutWriter ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &) override
 
virtual void beginJob () override
 
virtual void endJob () override
 

Private Attributes

Stage1TauIsolationLUTisoTauLut
 
std::string m_conditionsLabel
 
std::string m_isoTauLutName
 
CaloParamsHelperm_params
 
bool m_writeIsoTauLut
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer 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)
 
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 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)
 

Detailed Description

Definition at line 28 of file L1TCaloStage1LutWriter.cc.

Constructor & Destructor Documentation

l1t::L1TCaloStage1LutWriter::L1TCaloStage1LutWriter ( const edm::ParameterSet iConfig)
explicit

Definition at line 57 of file L1TCaloStage1LutWriter.cc.

References edm::false, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), isoTauLut, m_conditionsLabel, m_isoTauLutName, m_params, m_writeIsoTauLut, and AlCaHLTBitMon_QueryRunRegistry::string.

58 {
59  //now do what ever initialization is needed
60  m_writeIsoTauLut = iConfig.getUntrackedParameter<bool>("writeIsoTauLut", false );
61  m_isoTauLutName = iConfig.getUntrackedParameter<std::string>("isoTauLutName", "isoTauLut.txt" );
62  m_conditionsLabel = iConfig.getParameter<std::string>("conditionsLabel");
63 
65  isoTauLut = new Stage1TauIsolationLUT(m_params);
66 
67 };
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
Stage1TauIsolationLUT * isoTauLut
volatile std::atomic< bool > shutdown_flag false
l1t::L1TCaloStage1LutWriter::~L1TCaloStage1LutWriter ( )

Definition at line 69 of file L1TCaloStage1LutWriter.cc.

References isoTauLut.

70 {
71  delete isoTauLut;
72 };
Stage1TauIsolationLUT * isoTauLut

Member Function Documentation

void l1t::L1TCaloStage1LutWriter::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDAnalyzer.

Definition at line 76 of file L1TCaloStage1LutWriter.cc.

References gather_cfg::cout, edm::EventSetup::get(), LogDebug, m_conditionsLabel, m_isoTauLutName, m_params, m_writeIsoTauLut, edm::ESHandle< class >::product(), and writeIsoTauLut().

77 {
78  edm::ESHandle<CaloParams> paramsHandle;
79  iSetup.get<L1TCaloParamsRcd>().get(m_conditionsLabel, paramsHandle);
80  m_params = new (m_params) CaloParamsHelper(*paramsHandle.product());
81  if (! m_params){
82  std::cout << "Could not retrieve params from Event Setup" << std::endl;
83  return;
84  }
85  LogDebug("L1TDebug") << *m_params << std::endl;
86 
88 
89 }
#define LogDebug(id)
const T & get() const
Definition: EventSetup.h:56
T const * product() const
Definition: ESHandle.h:86
void writeIsoTauLut(const std::string &fileName)
tuple cout
Definition: gather_cfg.py:121
void l1t::L1TCaloStage1LutWriter::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 136 of file L1TCaloStage1LutWriter.cc.

137 {
138 
139 }
void l1t::L1TCaloStage1LutWriter::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 142 of file L1TCaloStage1LutWriter.cc.

143 {
144 }
void l1t::L1TCaloStage1LutWriter::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 148 of file L1TCaloStage1LutWriter.cc.

References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().

148  {
149  //The following says we do not know what parameters are allowed so do no validation
150  // Please change this to state exactly what you do use, even if it is no parameters
152  desc.setUnknown();
153  descriptions.addDefault(desc);
154 }
void addDefault(ParameterSetDescription const &psetDescription)
bool l1t::L1TCaloStage1LutWriter::openOutputFile ( const std::string &  fileName,
std::ofstream &  file 
)

Definition at line 92 of file L1TCaloStage1LutWriter.cc.

References gather_cfg::cout.

Referenced by writeIsoTauLut().

93 {
94  // Write to a new file
95  struct stat buffer ;
96  if ( !stat( fileName.c_str(), &buffer ) ) {
97  std::cout << "File " << fileName << " already exists. It will not be overwritten." << std::endl;
98  return false;
99  } else {
100  file.open( fileName.c_str() );
101  if ( ! file.good()) {
102  std::cout << "Error opening file " << fileName << std::endl;
103  return false;
104  }
105  }
106  return true;
107 }
tuple cout
Definition: gather_cfg.py:121
void l1t::L1TCaloStage1LutWriter::writeIsoTauLut ( const std::string &  fileName)

Definition at line 109 of file L1TCaloStage1LutWriter.cc.

References gather_cfg::cout, mergeVDriftHistosByStation::file, isoTauLut, l1t::Stage1TauIsolationLUT::lut_version, l1t::Stage1TauIsolationLUT::lutPayload(), m_params, l1t::Stage1TauIsolationLUT::nbits_data, l1t::Stage1TauIsolationLUT::nbitsJet, l1t::Stage1TauIsolationLUT::nbitsTau, openOutputFile(), funct::pow(), l1t::CaloParamsHelper::tauMaxJetIsolationA(), l1t::CaloParamsHelper::tauMaxJetIsolationB(), and l1t::CaloParamsHelper::tauMinPtJetIsolationB().

Referenced by analyze().

110 {
111  std::ofstream file;
112  if (openOutputFile(fileName,file)) {
113  std::cout << "Writing tau isolation LUT to: " << fileName << std::endl;
114  file << "########################################\n"
115  << "# tauIsolation LUT for ISOL(A)= " << m_params->tauMaxJetIsolationA()
116  << " ISOL(B)= " << m_params->tauMaxJetIsolationB() << "\n"
117  << "# Switch to ISOLB value at pt= " << m_params->tauMinPtJetIsolationB() << "\n"
118  << "#<header> V" << Stage1TauIsolationLUT::lut_version << " "
120  << Stage1TauIsolationLUT::nbits_data << " </header>\n"
121  << "# Format: Address Payload ## hwTauPt hwJetPt\n"
122  << "########################################\n";
123 
125  for (unsigned iAdd=0; iAdd<maxAdd; iAdd++) {
126  int isoFlag= isoTauLut->lutPayload(iAdd);
127  file << iAdd << " " << isoFlag << "\n";
128  }
129  } else {
130  std::cout << "%Error opening output file. Tau isolation LUT not written." << std::endl;
131  }
132  file.close();
133 
134 }
static const unsigned int nbits_data
double tauMaxJetIsolationB() const
double tauMinPtJetIsolationB() const
Stage1TauIsolationLUT * isoTauLut
static const unsigned int nbitsTau
static const unsigned int nbitsJet
static const unsigned int lut_version
int lutPayload(unsigned int) const
tuple cout
Definition: gather_cfg.py:121
bool openOutputFile(const std::string &fileName, std::ofstream &file)
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
double tauMaxJetIsolationA() const

Member Data Documentation

Stage1TauIsolationLUT* l1t::L1TCaloStage1LutWriter::isoTauLut
private
std::string l1t::L1TCaloStage1LutWriter::m_conditionsLabel
private

Definition at line 44 of file L1TCaloStage1LutWriter.cc.

Referenced by analyze(), and L1TCaloStage1LutWriter().

std::string l1t::L1TCaloStage1LutWriter::m_isoTauLutName
private

Definition at line 50 of file L1TCaloStage1LutWriter.cc.

Referenced by analyze(), and L1TCaloStage1LutWriter().

CaloParamsHelper* l1t::L1TCaloStage1LutWriter::m_params
private

Definition at line 43 of file L1TCaloStage1LutWriter.cc.

Referenced by analyze(), L1TCaloStage1LutWriter(), and writeIsoTauLut().

bool l1t::L1TCaloStage1LutWriter::m_writeIsoTauLut
private

Definition at line 48 of file L1TCaloStage1LutWriter.cc.

Referenced by analyze(), and L1TCaloStage1LutWriter().