Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:58:27

0001 #ifndef CalibMuon_DTT0WireInChamberReferenceCorrection_H
0002 #define CalibMuon_DTT0WireInChamberReferenceCorrection_H
0003 
0004 /** \class DTT0WireInChamberReferenceCorrection
0005  *  Concrete implementation of a DTT0BaseCorrection.
0006  *  Computes correction for t0
0007  *
0008  *  $Revision: 1.1 $
0009  *  \author A. Vilela Pereira
0010  */
0011 
0012 #include "CalibMuon/DTCalibration/interface/DTT0BaseCorrection.h"
0013 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
0014 #include "FWCore/Framework/interface/ESHandle.h"
0015 #include "CondFormats/DataRecord/interface/DTT0Rcd.h"
0016 #include "CondFormats/DTObjects/interface/DTT0.h"
0017 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0018 #include "FWCore/Framework/interface/ConsumesCollector.h"
0019 #include "FWCore/Utilities/interface/ESGetToken.h"
0020 #include <string>
0021 
0022 namespace edm {
0023   class ParameterSet;
0024 }
0025 
0026 class DTT0;
0027 class DTGeometry;
0028 
0029 namespace dtCalibration {
0030 
0031   class DTT0WireInChamberReferenceCorrection : public DTT0BaseCorrection {
0032   public:
0033     // Constructor
0034     DTT0WireInChamberReferenceCorrection(const edm::ParameterSet&, edm::ConsumesCollector);
0035 
0036     // Destructor
0037     ~DTT0WireInChamberReferenceCorrection() override;
0038 
0039     void setES(const edm::EventSetup& setup) override;
0040     DTT0Data correction(const DTWireId&) override;
0041 
0042   private:
0043     DTT0Data defaultT0(const DTWireId&);
0044 
0045     std::string calibChamber_;
0046 
0047     DTChamberId chosenChamberId_;
0048     const DTT0* t0Map_;
0049     edm::ESHandle<DTGeometry> dtGeom_;
0050 
0051     edm::ESGetToken<DTT0, DTT0Rcd> t0Token_;
0052     edm::ESGetToken<DTGeometry, MuonGeometryRecord> dtGeomToken_;
0053   };
0054 
0055 }  // namespace dtCalibration
0056 #endif