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
0005 #include <memory>
0006
0007
0008 #include "FWCore/Framework/interface/ModuleFactory.h"
0009 #include "FWCore/Framework/interface/ESProducer.h"
0010 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0011
0012
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