00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include <memory>
00011 #include "boost/shared_ptr.hpp"
00012
00013
00014 #include "CalibMuon/DTCalibration/plugins/DTFakeTTrigESProducer.h"
00015 #include "FWCore/Framework/interface/SourceFactory.h"
00016 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h"
00017
00018 #include "FWCore/Framework/interface/ESHandle.h"
00019 #include "FWCore/Framework/interface/EventSetup.h"
00020
00021 #include "CondFormats/DTObjects/interface/DTTtrig.h"
00022 #include "CondFormats/DataRecord/interface/DTTtrigRcd.h"
00023 #include "DataFormats/MuonDetId/interface/DTSuperLayerId.h"
00024
00025 DTFakeTTrigESProducer::DTFakeTTrigESProducer(const edm::ParameterSet& pset)
00026 {
00027
00028 setWhatProduced(this,&DTFakeTTrigESProducer::produce);
00029 findingRecord<DTTtrigRcd>();
00030
00031
00032 tMean = pset.getParameter<double>("tMean");
00033 sigma = pset.getParameter<double>("sigma");
00034 }
00035
00036
00037 DTFakeTTrigESProducer::~DTFakeTTrigESProducer(){
00038 }
00039
00040
00041 DTTtrig* DTFakeTTrigESProducer::produce(const DTTtrigRcd& iRecord){
00042
00043 DTTtrig* tTrigMap = new DTTtrig();
00044
00045 for (int wheel=-2; wheel<3; wheel++){
00046 for(int station=1; station<5; station++){
00047 for(int sector=1; sector<13; sector++){
00048 for(int superlayer=1; superlayer<4; superlayer++){
00049 if(superlayer==2 && station==4) continue;
00050 DTSuperLayerId slId(DTChamberId(wheel, station, sector),superlayer);
00051 tTrigMap->set(slId, tMean, sigma, DTTimeUnits::ns);
00052 }
00053 }
00054 }
00055 }
00056
00057 for (int wheel=-2; wheel<3; wheel++){
00058 for(int superlayer=1; superlayer<4; superlayer++){
00059 if(superlayer==2) continue;
00060 DTSuperLayerId slId(DTChamberId(wheel, 4, 13),superlayer);
00061 tTrigMap->set(slId, tMean, sigma, DTTimeUnits::ns);
00062 }
00063 }
00064
00065 for (int wheel=-2; wheel<3; wheel++){
00066 for(int superlayer=1; superlayer<4; superlayer++){
00067 if(superlayer==2) continue;
00068 DTSuperLayerId slId(DTChamberId(wheel, 4, 14),superlayer);
00069 tTrigMap->set(slId, tMean, sigma, DTTimeUnits::ns);
00070 }
00071 }
00072
00073 return tTrigMap;
00074 }
00075
00076 void DTFakeTTrigESProducer::setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue&,
00077 edm::ValidityInterval & oValidity)
00078 {
00079 oValidity = edm::ValidityInterval(edm::IOVSyncValue::beginOfTime(),edm::IOVSyncValue::endOfTime());
00080
00081 }