CMS 3D CMS Logo

Public Member Functions | Public Attributes

RPCDBSimSetUp Class Reference

#include <RPCDBSimSetUp.h>

List of all members.

Public Member Functions

std::map< int, std::vector
< double > > 
getClsMap ()
std::vector< float > getEff (uint32_t id)
const RPCGeometrygetGeometry ()
std::vector< float > getNoise (uint32_t id)
float getTime (uint32_t id)
 RPCDBSimSetUp (const edm::ParameterSet &ps)
void setGeometry (const RPCGeometry *geom)
 sets geometry
virtual ~RPCDBSimSetUp ()

Public Attributes

std::map< RPCDetId, float > _bxmap
std::map< int, std::vector
< double > > 
_clsMap
std::ifstream * _infile1
std::ifstream * _infile2
std::ifstream * _infile3
std::ifstream * _infile4
std::map< uint32_t,
std::vector< float > > 
_mapDetIdEff
std::map< uint32_t,
std::vector< float > > 
_mapDetIdNoise
const RPCGeometrytheGeometry

Detailed Description

Definition at line 22 of file RPCDBSimSetUp.h.


Constructor & Destructor Documentation

RPCDBSimSetUp::RPCDBSimSetUp ( const edm::ParameterSet ps) [explicit]

Definition at line 18 of file RPCDBSimSetUp.cc.

References prof2calltree::count, cmsDriverOptions::counter, edm::FileInPath::fullPath(), edm::ParameterSet::getParameter(), i, recoMuon::in, pos, RPCDetId, and relativeConstraints::value.

                                                      {
  
  _mapDetIdNoise.clear();
  _mapDetIdEff.clear();
  _bxmap.clear();

    //------------------------ Noise Reading ----------------------------
    
  edm::FileInPath fp1 = ps.getParameter<edm::FileInPath>("noisemapfile");
  std::ifstream _infile1(fp1.fullPath().c_str(), std::ios::in);
  
  std::vector<float>  vnoise;

  int rpcdetid = 0;
  std::string buff;
  
  std::vector< std::string > words;

  int count = 0;
  while( getline(_infile1, buff, '\n') ){
    
    words.clear();
    vnoise.clear();
    
    stringstream ss;
    std::string chname;
    ss<<buff;
    ss>>chname>>rpcdetid;

    std::string::size_type pos = 0, prev_pos = 0;

    while ( (pos = buff.find("  ",pos)) != string::npos){
      
      words.push_back(buff.substr(prev_pos, pos - prev_pos));
      prev_pos = ++pos;
    }
    words.push_back(buff.substr(prev_pos, pos - prev_pos));
    
    for(unsigned int i = 2; i < words.size(); ++i){
      float value = atof( ((words)[i]).c_str() );
      vnoise.push_back(value);
    }
    
    _mapDetIdNoise.insert(make_pair(static_cast<uint32_t>(rpcdetid),vnoise));
    
    count++;
  }
   _infile1.close();


  //------------------------ Eff Reading ----------------------------
  
  edm::FileInPath fp2 = ps.getParameter<edm::FileInPath>("effmapfile");
  _infile2 = new ifstream(fp2.fullPath().c_str(), std::ios::in);
  
  std::vector<float> veff ;
  rpcdetid = 0;
  
  while( getline(*_infile2, buff, '\n') ){
    
    words.clear();
    veff.clear();
    
    stringstream ss;
    std::string chname;
    ss<<buff;
    ss>>chname>>rpcdetid;
    
    std::string::size_type pos = 0, prev_pos = 0;
    while ( (pos = buff.find("  ",pos)) != string::npos){
      
      words.push_back(buff.substr(prev_pos, pos - prev_pos));
      prev_pos = ++pos;
    }
    words.push_back(buff.substr(prev_pos, pos - prev_pos));
    
    for(unsigned int i = 2; i < words.size(); ++i){
      float value = atof(((words)[i]).c_str());
      veff.push_back(value);
    }
    _mapDetIdEff.insert(make_pair(static_cast<uint32_t>(rpcdetid),veff));
  }
  _infile2->close();

  //---------------------- Timing reading ------------------------------------

  edm::FileInPath fp3 = ps.getParameter<edm::FileInPath>("timingMap");
  _infile3 = new ifstream(fp3.fullPath().c_str(), std::ios::in);

  uint32_t detUnit = 0;
  float timing = 0.;
  while(!_infile3->eof()){
    *_infile3>>detUnit>>timing;
    _bxmap[RPCDetId(detUnit)] = timing;
  }
  _infile3->close();

  //---------------------- Cluster size --------------------------------------

  edm::FileInPath fp4 = ps.getParameter<edm::FileInPath>("clsmapfile");
  _infile4 = new ifstream(fp4.fullPath().c_str(), ios::in);

  string buffer;
  double sum = 0;
  unsigned int counter = 1;
  unsigned int row = 1;
  std::vector<double> sum_clsize;

  while ( *_infile4 >> buffer ) {
    const char *buffer1 = buffer.c_str();
    double dato = atof(buffer1);
    sum += dato;
    sum_clsize.push_back(sum);

    if(counter == row*20) {
      _clsMap[row] = sum_clsize;
      row++;
      sum = 0;
      sum_clsize.clear();
    }
    counter++;
  }
  _infile4->close();
}
RPCDBSimSetUp::~RPCDBSimSetUp ( ) [virtual]

Definition at line 167 of file RPCDBSimSetUp.cc.

                             {
  delete _infile1;
  delete _infile2;
  delete _infile3;
  delete _infile4;
}

Member Function Documentation

std::map< int, std::vector< double > > RPCDBSimSetUp::getClsMap ( )

Definition at line 162 of file RPCDBSimSetUp.cc.

{
  return _clsMap;
}
std::vector< float > RPCDBSimSetUp::getEff ( uint32_t  id)

Definition at line 149 of file RPCDBSimSetUp.cc.

Referenced by RPCDBPerformanceHandler::getNewObjects().

{
  map<uint32_t,std::vector<float> >::iterator iter = _mapDetIdEff.find(id);
  return iter->second;
}
const RPCGeometry* RPCDBSimSetUp::getGeometry ( ) [inline]

Definition at line 36 of file RPCDBSimSetUp.h.

References theGeometry.

{ return theGeometry; }
std::vector< float > RPCDBSimSetUp::getNoise ( uint32_t  id)

Definition at line 143 of file RPCDBSimSetUp.cc.

{
  map<uint32_t,std::vector<float> >::iterator iter = _mapDetIdNoise.find(id);
  return (iter->second);
}
float RPCDBSimSetUp::getTime ( uint32_t  id)

Definition at line 155 of file RPCDBSimSetUp.cc.

Referenced by RPCDBPerformanceHandler::getNewObjects().

{
  RPCDetId rpcid(id);
  std::map<RPCDetId, float>::iterator iter = _bxmap.find(rpcid);
  return iter->second;
}
void RPCDBSimSetUp::setGeometry ( const RPCGeometry geom) [inline]

sets geometry

Definition at line 35 of file RPCDBSimSetUp.h.

References relativeConstraints::geom, and theGeometry.


Member Data Documentation

std::map<RPCDetId, float> RPCDBSimSetUp::_bxmap

Definition at line 42 of file RPCDBSimSetUp.h.

std::map< int, std::vector<double> > RPCDBSimSetUp::_clsMap

Definition at line 43 of file RPCDBSimSetUp.h.

Referenced by RPCDBPerformanceHandler::getNewObjects().

std::ifstream* RPCDBSimSetUp::_infile1

Definition at line 45 of file RPCDBSimSetUp.h.

std::ifstream* RPCDBSimSetUp::_infile2

Definition at line 46 of file RPCDBSimSetUp.h.

std::ifstream* RPCDBSimSetUp::_infile3

Definition at line 47 of file RPCDBSimSetUp.h.

std::ifstream* RPCDBSimSetUp::_infile4

Definition at line 48 of file RPCDBSimSetUp.h.

std::map<uint32_t, std::vector<float> > RPCDBSimSetUp::_mapDetIdEff

Definition at line 41 of file RPCDBSimSetUp.h.

std::map<uint32_t, std::vector<float> > RPCDBSimSetUp::_mapDetIdNoise

Definition at line 40 of file RPCDBSimSetUp.h.

Referenced by RPCDBPerformanceHandler::getNewObjects().

Definition at line 38 of file RPCDBSimSetUp.h.

Referenced by getGeometry(), and setGeometry().