CMS 3D CMS Logo

DTTTrigConstantShift.cc
Go to the documentation of this file.
1 /*
2  * See header file for a description of this class.
3  *
4  */
5 
6 #include "DTTTrigConstantShift.h"
11 
15 
16 #include <cmath>
17 
18 using namespace std;
19 using namespace edm;
20 
21 namespace dtCalibration {
22 
23  DTTTrigConstantShift::DTTTrigConstantShift(const ParameterSet& pset)
24  : dbLabel_(pset.getUntrackedParameter<string>("dbLabel", "")),
25  calibChamber_(pset.getParameter<string>("calibChamber")),
26  value_(pset.getParameter<double>("value")) {
27  LogVerbatim("Calibration") << "[DTTTrigConstantShift] Applying constant correction value: " << value_ << endl;
28 
29  if (!calibChamber_.empty() && calibChamber_ != "None" && calibChamber_ != "All") {
30  stringstream linestr;
31  int selWheel, selStation, selSector;
32  linestr << calibChamber_;
33  linestr >> selWheel >> selStation >> selSector;
34  chosenChamberId_ = DTChamberId(selWheel, selStation, selSector);
35  LogVerbatim("Calibration") << "[DTTTrigConstantShift] Chosen chamber: " << chosenChamberId_ << endl;
36  }
37  //FIXME: Check if chosen chamber is valid.
38  }
39 
41 
43  // Get tTrig record from DB
45  setup.get<DTTtrigRcd>().get(dbLabel_, tTrig);
46  tTrigMap_ = &*tTrig;
47  }
48 
50  float tTrigMean, tTrigSigma, kFactor;
51  int status = tTrigMap_->get(slId, tTrigMean, tTrigSigma, kFactor, DTTimeUnits::ns);
52  if (status != 0)
53  throw cms::Exception("[DTTTrigConstantShift]") << "Could not find tTrig entry in DB for" << slId << endl;
54 
55  float tTrigMeanNew = tTrigMean;
56  if (!calibChamber_.empty() && calibChamber_ != "None") {
57  if ((calibChamber_ == "All") || (calibChamber_ != "All" && slId.chamberId() == chosenChamberId_)) {
58  tTrigMeanNew = tTrigMean + value_;
59  }
60  }
61 
62  return DTTTrigData(tTrigMeanNew, tTrigSigma, kFactor);
63  }
64 
65 } // namespace dtCalibration
void setES(const edm::EventSetup &setup) override
DTChamberId chamberId() const
Return the corresponding ChamberId.
DTTTrigData correction(const DTSuperLayerId &) override
int get(int wheelId, int stationId, int sectorId, int slId, float &tTrig, float &tTrms, float &kFact, DTTimeUnits::type unit) const
get content
Definition: DTTtrig.cc:59
HLT enums.
T get() const
Definition: EventSetup.h:73