CMS 3D CMS Logo

DTFakeT0ESProducer.cc
Go to the documentation of this file.
1 /*
2  * See header file for a description of this class.
3  *
4  * \author S. Bolognesi - INFN Torino
5  */
6 
7 // system include files
8 #include <memory>
9 
10 // user include files
13 
17 
21 
25 
26 using namespace std;
27 
29 {
30  //framework
31  setWhatProduced(this,&DTFakeT0ESProducer::produce);
32  // setWhatProduced(this,dependsOn(& DTGeometryESModule::parseDDD()));
33  findingRecord<DTT0Rcd>();
34 
35  //read constant value for t0 from cfg
36  t0Mean = pset.getParameter<double>("t0Mean");
37  t0Sigma = pset.getParameter<double>("t0Sigma");
38 }
39 
40 
42 }
43 
44 
45 // ------------ method called to produce the data ------------
46 std::unique_ptr<DTT0> DTFakeT0ESProducer::produce(const DTT0Rcd& iRecord){
47 
48  parseDDD(iRecord);
49  auto t0Map = std::make_unique<DTT0>();
50 
51  //Loop on layerId-nwires map
52  for(map<DTLayerId, pair <unsigned int,unsigned int> >::const_iterator lIdWire = theLayerIdWiresMap.begin();
53  lIdWire != theLayerIdWiresMap.end();
54  ++lIdWire){
55  int firstWire = ((*lIdWire).second).first;
56  int nWires = ((*lIdWire).second).second;
57  //Loop on wires of each layer
58  for(int wire=0; wire < nWires; wire++){
59  t0Map->set(DTWireId((*lIdWire).first, wire + firstWire), t0Mean, t0Sigma, DTTimeUnits::counts);
60  }
61  }
62 
63  return t0Map;
64 }
65 
67 
70 
71  iRecord.getRecord<IdealGeometryRecord>().get(cpv);
72  iRecord.getRecord<MuonNumberingRecord>().get(mdc);
73 
74  DTGeometryParserFromDDD parser(&(*cpv), *mdc, theLayerIdWiresMap);
75 }
76 
78  edm::ValidityInterval & oValidity){
80  }
81 
82 
T getParameter(std::string const &) const
static const IOVSyncValue & endOfTime()
Definition: IOVSyncValue.cc:82
std::pair< Time_t, Time_t > ValidityInterval
Definition: Time.h:19
void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &oValidity) override
U second(std::pair< T, U > const &p)
static const IOVSyncValue & beginOfTime()
Definition: IOVSyncValue.cc:88
void parseDDD(const DTT0Rcd &iRecord)
Definition: DTT0Rcd.h:9
~DTFakeT0ESProducer() override
DTFakeT0ESProducer(const edm::ParameterSet &pset)
std::unique_ptr< DTT0 > produce(const DTT0Rcd &iRecord)