Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:25

0001 #ifndef namespace_ecalsrcondtools_h
0002 #define namespace_ecalsrcondtools_h
0003 
0004 /*
0005  */
0006 
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "CondFormats/EcalObjects/interface/EcalSRSettings.h"
0009 
0010 #include <string>
0011 #include <iostream>
0012 /**
0013  */
0014 namespace ecalsrcondtools {
0015   /** Converts CMSSW python file selective readout setting ("parameter set")
0016    * into a condition database object.
0017    * Configuration from parameter set covers only part of the config,
0018    * mainly the configuration needed for SR emulation in the MC. The parameters
0019    * not supported by python configuration are left untouched in the sr object.
0020    * @param sr [in] ECAL selective readout setting object to set
0021    * @param ps CMSSW parameter set containing the SR parameters to set
0022    */
0023   void importParameterSet(EcalSRSettings& sr, const edm::ParameterSet& ps);
0024 
0025   /** Imports an SRP configuration file (stored in database "CLOB") into a
0026    * Selective readout setting object.
0027    * @param sr [in] ECAL selective readout setting object to set
0028    * @param f configuration file stream. A stringstream can be used if the configuration
0029    * is available as an stl string of a c-string: stringstream buf; buf << s;
0030    * @param debug verbosity flag. If true, imported parameter are displayed on stdout.
0031    */
0032   void importSrpConfigFile(EcalSRSettings& sr, std::istream& f, bool debug = false);
0033 
0034   ///convert hardware weights (interger weights)
0035   ///into normalized weights. The former reprensentation is used in DCC firmware
0036   ///and in online databaser, while the later is used in offline software.
0037   double normalizeWeights(int hwWeight);
0038 };  // namespace ecalsrcondtools
0039 
0040 #endif  //SRCONDACCESS_H not defined