CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
EcalMappingElectronicsHandler Class Reference

#include <EcalMappingElectronicsHandler.h>

Inheritance diagram for EcalMappingElectronicsHandler:
popcon::PopConSourceHandler< EcalMappingElectronics >

Public Member Functions

 EcalMappingElectronicsHandler (edm::ParameterSet const &)
 
void getNewObjects () override
 
std::string id () const override
 
 ~EcalMappingElectronicsHandler () override
 
- Public Member Functions inherited from popcon::PopConSourceHandler< EcalMappingElectronics >
void initialize (const cond::persistency::Session &dbSession, cond::TagInfo_t const &tagInfo, cond::LogDBEntry_t const &logDBEntry)
 
Ref lastPayload () const
 
cond::LogDBEntry_t const & logDBEntry () const
 
std::pair< Container const
*, std::string const > 
operator() (const cond::persistency::Session &session, cond::TagInfo_t const &tagInfo, cond::LogDBEntry_t const &logDBEntry) const
 
 PopConSourceHandler ()
 
Container const & returnData ()
 
cond::TagInfo_t const & tagInfo () const
 
std::string const & userTextLog () const
 
virtual ~PopConSourceHandler ()
 

Private Attributes

std::string m_name
 
const EcalMappingElectronicsmyMap
 
long long since_
 
std::string txtFileSource_
 

Additional Inherited Members

- Public Types inherited from popcon::PopConSourceHandler< EcalMappingElectronics >
typedef std::map< Time_t,
std::shared_ptr
< EcalMappingElectronics > > 
Container
 
typedef std::unique_ptr
< EcalMappingElectronics
Ref
 
typedef PopConSourceHandler
< EcalMappingElectronics
self
 
typedef cond::Time_t Time_t
 
typedef EcalMappingElectronics value_type
 
- Protected Member Functions inherited from popcon::PopConSourceHandler< EcalMappingElectronics >
cond::persistency::SessiondbSession () const
 
- Protected Attributes inherited from popcon::PopConSourceHandler< EcalMappingElectronics >
Container m_iovs
 
std::vector< std::pair
< EcalMappingElectronics
*, Time_t > > 
m_to_transfer
 
std::string m_userTextLog
 

Detailed Description

Definition at line 32 of file EcalMappingElectronicsHandler.h.

Constructor & Destructor Documentation

EcalMappingElectronicsHandler::EcalMappingElectronicsHandler ( edm::ParameterSet const &  ps)

Definition at line 15 of file EcalMappingElectronicsHandler.cc.

References gather_cfg::cout.

16  : txtFileSource_(ps.getUntrackedParameter<std::string>("txtFile")),
17  m_name(ps.getUntrackedParameter<std::string>("name", "EcalMappingElectronicsHandler")),
18  since_(ps.getUntrackedParameter<long long>("since", 1)) {
19  std::cout << "EcalMappingElectronics Source handler constructor\n" << std::endl;
20 }
tuple cout
Definition: gather_cfg.py:144
EcalMappingElectronicsHandler::~EcalMappingElectronicsHandler ( )
override

Definition at line 22 of file EcalMappingElectronicsHandler.cc.

22 {}

Member Function Documentation

void EcalMappingElectronicsHandler::getNewObjects ( )
overridevirtual

Implements popcon::PopConSourceHandler< EcalMappingElectronics >.

Definition at line 24 of file EcalMappingElectronicsHandler.cc.

References gather_cfg::cout, EcalMappingElement::electronicsid, Exception, validate-o2o-wbm::f, contentValuesFiles::fullPath, edm::FileInPath::fullPath(), popcon::PopConSourceHandler< EcalMappingElectronics >::m_to_transfer, jetCorrFactors_cfi::payload, EcalElectronicsId::rawId(), EcalTriggerElectronicsId::rawId(), since_, hgcalTowerProducer_cfi::tower, EcalMappingElement::triggerid, txtFileSource_, and EEDetId::XYMODE.

24  {
25  std::cout << "------- Ecal - > getNewObjects\n";
27  std::unique_ptr<EcalMappingElectronics> mapping = std::make_unique<EcalMappingElectronics>();
28  //Filling map reading from file
29  edm::LogInfo("EcalMappingElectronicsHandler")
30  << "Reading mapping from file " << edm::FileInPath(txtFileSource_).fullPath().c_str();
31 
32  std::ifstream f(edm::FileInPath(txtFileSource_).fullPath().c_str());
33  if (!f.good()) {
34  edm::LogError("EcalMappingElectronicsHandler") << "File not found";
35  throw cms::Exception("FileNotFound");
36  }
37 
38  // uint32_t detid, elecid, triggerid;
39 
40  int ix, iy, iz, CL;
41  // int dccid, towerid, stripid, xtalid;
42  // int tccid, tower, ipseudostrip, xtalinps;
43  int dccid, towerid, pseudostrip_in_SC, xtal_in_pseudostrip;
44  int tccid, tower, pseudostrip_in_TCC, pseudostrip_in_TT;
45 
46  while (!f.eof()) {
47  // f >> detid >> elecid >> triggerid;
48  f >> ix >> iy >> iz >> CL >> dccid >> towerid >> pseudostrip_in_SC >> xtal_in_pseudostrip >> tccid >> tower >>
49  pseudostrip_in_TCC >> pseudostrip_in_TT;
50 
51  // if (!EEDetId::validDetId(ix,iy,iz))
52  // continue;
53 
54  EEDetId detid(ix, iy, iz, EEDetId::XYMODE);
55  // std::cout << " dcc tower ps_in_SC xtal_in_ps " << dccid << " " << towerid << " " << pseudostrip_in_SC << " " << xtal_in_pseudostrip << std::endl;
56  EcalElectronicsId elecid(dccid, towerid, pseudostrip_in_SC, xtal_in_pseudostrip);
57  // std::cout << " tcc tt ps_in_TT xtal_in_ps " << tccid << " " << tower << " " << pseudostrip_in_TT << " " << xtal_in_pseudostrip << std::endl;
58  EcalTriggerElectronicsId triggerid(tccid, tower, pseudostrip_in_TT, xtal_in_pseudostrip);
59  EcalMappingElement aElement;
60  aElement.electronicsid = elecid.rawId();
61  aElement.triggerid = triggerid.rawId();
62  (*payload).setValue(detid, aElement);
63  }
64 
65  f.close();
66  edm::LogInfo("EcalMappingElectronicsHandler") << "Reading completed ready to insert in DB";
67  //Filling completed transferring to DB
68  m_to_transfer.push_back(std::make_pair(payload, since_));
69  // delete payload;
70 }
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
static const int XYMODE
Definition: EEDetId.h:335
Log< level::Error, false > LogError
EcalMappingElectronicsMap EcalMappingElectronics
std::vector< std::pair< EcalMappingElectronics *, Time_t > > m_to_transfer
Log< level::Info, false > LogInfo
std::string fullPath() const
Definition: FileInPath.cc:161
tuple cout
Definition: gather_cfg.py:144
Ecal trigger electronics identification [32:20] Unused (so far) [19:13] TCC id [12:6] TT id [5:3] pse...
std::string EcalMappingElectronicsHandler::id ( ) const
inlineoverridevirtual

Member Data Documentation

std::string EcalMappingElectronicsHandler::m_name
private

Definition at line 43 of file EcalMappingElectronicsHandler.h.

Referenced by id().

const EcalMappingElectronics* EcalMappingElectronicsHandler::myMap
private

Definition at line 40 of file EcalMappingElectronicsHandler.h.

long long EcalMappingElectronicsHandler::since_
private

Definition at line 45 of file EcalMappingElectronicsHandler.h.

Referenced by getNewObjects().

std::string EcalMappingElectronicsHandler::txtFileSource_
private

Definition at line 42 of file EcalMappingElectronicsHandler.h.

Referenced by getNewObjects().