Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:14:49

0001 #ifndef GEOMETRY_HCALEVENTSETUP_HCALALIGNMENTEP_H
0002 #define GEOMETRY_HCALEVENTSETUP_HCALALIGNMENTEP_H 1
0003 
0004 // System
0005 #include <memory>
0006 
0007 // Framework
0008 #include "FWCore/Framework/interface/ModuleFactory.h"
0009 #include "FWCore/Framework/interface/ESProducer.h"
0010 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0011 
0012 // Alignment
0013 #include "CondFormats/Alignment/interface/Alignments.h"
0014 #include "CondFormats/Alignment/interface/AlignmentErrors.h"
0015 #include "Geometry/HcalTowerAlgo/interface/HcalGeometry.h"
0016 #include "CondFormats/AlignmentRecord/interface/HcalAlignmentRcd.h"
0017 #include "CondFormats/AlignmentRecord/interface/HcalAlignmentErrorExtendedRcd.h"
0018 
0019 class HcalAlignmentEP : public edm::ESProducer {
0020 public:
0021   using ReturnAli = std::unique_ptr<Alignments>;
0022 
0023   typedef AlignTransform::Translation Trl;
0024   typedef AlignTransform::Rotation Rot;
0025 
0026   HcalAlignmentEP(const edm::ParameterSet&);
0027   ~HcalAlignmentEP() override;
0028 
0029   //-------------------------------------------------------------------
0030 
0031   ReturnAli produceHcalAli(const HcalAlignmentRcd& iRecord);
0032 
0033 private:
0034   edm::ESGetToken<Alignments, HBAlignmentRcd> hbToken_;
0035   edm::ESGetToken<Alignments, HEAlignmentRcd> heToken_;
0036   edm::ESGetToken<Alignments, HFAlignmentRcd> hfToken_;
0037   edm::ESGetToken<Alignments, HOAlignmentRcd> hoToken_;
0038 };
0039 
0040 #endif