CMS 3D CMS Logo

EcalTPGSpikeThresholdfromFile.cc
Go to the documentation of this file.
2 
4 
6 
9 
10 #include<iostream>
11 #include<fstream>
12 #include <sstream>
13 
15  : m_name(ps.getUntrackedParameter<std::string>("name","EcalTPGSpikeThresholdfromFile")) {
16 
17  std::cout << "EcalTPGSpikeThresholdfromFile constructor\n" << std::endl;
18 }
19 
21  // do nothing
22 }
23 
25  std::cout << "------- Ecal -> getNewObjects\n";
26  edm::LogInfo("EcalTPGSpikeThresholdfromFile") << "Started GetNewObjects!!!";
27 
29 
30  // here popcon tells us which is the last since of the last object in the offline DB
31 
33  int fileIOV;
34  std::cout << "LinPed which input IOV do you want " << std::endl;
35  std::cin >> fileIOV;
36  std::ifstream fLin;
37  std::ostringstream oss;
38  oss << fileIOV;
39  std::string fname = "/afs/cern.ch/cms/ECAL/triggerTransp/TPG_beamv6_trans_" + oss.str() + "_spikekill.txt";
40  fLin.open(fname.c_str());
41  if(!fLin.is_open()) {
42  std::cout << "ERROR : can't open file '" << fname << std::endl;
43  return;
44  }
45  std::cout << " file " << fname << " opened" << std::endl;
47  for(int i = 0; i < 365223; i++) getline (fLin, line);
48  char tow[8];
49  unsigned int towerId, Threshold;
50  for (int istrip = 0; istrip < 2448; istrip++) {
51  getline (fLin, line);
52  sscanf(line.c_str(), "%s %u", tow, &towerId);
53  if(istrip < 10) std::cout << " string " << tow << " Id " << towerId;
54  getline (fLin, line); // LUTGroupId
55  getline (fLin, line); // FgGroupId
56  getline (fLin, line); // spike_killing_threshold
57  if(istrip < 10) std::cout << " line " << line;
58  sscanf(line.c_str(), "%u", &Threshold);
59  if(istrip < 10) std::cout << " Threshold " << Threshold << std::endl;
60 
61  lut->setValue(towerId, Threshold);
62  } // end loop over EB towers
63  fLin.close();
64 
65  m_to_transfer.push_back(std::make_pair((EcalTPGSpike*)lut, fileIOV));
66 
67  std::cout << "Ecal -> end of getNewObjects -----------\n";
68 }
void setValue(const uint32_t &id, const uint16_t &val)
Definition: EcalTPGSpike.cc:10
unsigned towerId(DetId const &)
string fname
main script