CMS 3D CMS Logo

CSCFakeDBPedestals.h
Go to the documentation of this file.
1 #ifndef _CSCFAKEDBPEDESTALS_H
2 #define _CSCFAKEDBPEDESTALS_H
3 
4 #include <memory>
13 
15 
19 
21  public:
23  ~CSCFakeDBPedestals() override;
24 
25  inline static CSCDBPedestals * prefillDBPedestals();
26 
27  typedef std::unique_ptr<CSCDBPedestals> Pointer;
28 
29  Pointer produceDBPedestals(const CSCDBPedestalsRcd&);
30 
31  private:
32  // ----------member data ---------------------------
34 
35 };
36 
37 #include<fstream>
38 #include<vector>
39 #include<iostream>
40 
41 // to workaround plugin library
43 {
44  int seed;
45  float meanped,meanrms;
46  const int MAX_SIZE = 217728; //or 252288 for ME4/2 chambers
47  const int PED_FACTOR=10;
48  const int RMS_FACTOR=1000;
49 
50  CSCDBPedestals * cndbpedestals = new CSCDBPedestals();
51  cndbpedestals->pedestals.resize(MAX_SIZE);
52 
53  seed = 10000;
54  srand(seed);
55  meanped=600.0, meanrms=1.5;
56  cndbpedestals->factor_ped = int (PED_FACTOR);
57  cndbpedestals->factor_rms = int (RMS_FACTOR);
58 
59  for(int i=0; i<MAX_SIZE;i++){
60  cndbpedestals->pedestals[i].ped=(short int) (((double)rand()/((double)(RAND_MAX)+(double)(1)))*100+meanped*PED_FACTOR+0.5);
61  cndbpedestals->pedestals[i].rms= (short int) (((double)rand()/((double)(RAND_MAX)+(double)(1)))+meanrms*RMS_FACTOR+0.5);
62  }
63  return cndbpedestals;
64 }
65 
66 #endif
void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) override
static CSCDBPedestals * prefillDBPedestals()
~CSCFakeDBPedestals() override
CSCFakeDBPedestals(const edm::ParameterSet &)
Pointer produceDBPedestals(const CSCDBPedestalsRcd &)
std::unique_ptr< CSCDBPedestals > Pointer
PedestalContainer pedestals
Signal rand(Signal arg)
Definition: vlib.cc:442