Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef _DTFAKET0_H
0002 #define _DTFAKET0_H
0003 
0004 /*
0005  *  See header file for a description of this class.
0006  *
0007  *  \author S. Bolognesi - INFN Torino
0008  */
0009 
0010 // system include files
0011 #include <memory>
0012 
0013 // user include files
0014 #include "FWCore/Framework/interface/SourceFactory.h"
0015 
0016 #include "FWCore/Framework/interface/Frameworkfwd.h"
0017 #include "FWCore/Framework/interface/ESProducer.h"
0018 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h"
0019 
0020 #include "FWCore/Framework/interface/Event.h"
0021 #include "FWCore/Framework/interface/MakerMacros.h"
0022 
0023 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0024 
0025 #include "DetectorDescription/Core/interface/DDCompactView.h"
0026 #include "DetectorDescription/DDCMS/interface/DDCompactView.h"
0027 #include "Geometry/Records/interface/IdealGeometryRecord.h"
0028 #include "Geometry/MuonNumbering/interface/MuonGeometryConstants.h"
0029 
0030 //#include <pair>
0031 #include <map>
0032 
0033 class DTT0;
0034 class DTT0Rcd;
0035 class DTLayerId;
0036 
0037 class DTFakeT0ESProducer : public edm::ESProducer, public edm::EventSetupRecordIntervalFinder {
0038 public:
0039   DTFakeT0ESProducer(const edm::ParameterSet& pset);
0040 
0041   ~DTFakeT0ESProducer() override;
0042 
0043   std::unique_ptr<DTT0> produce(const DTT0Rcd& iRecord);
0044 
0045 private:
0046   void parseDDD(const DTT0Rcd& iRecord);
0047 
0048   void setIntervalFor(const edm::eventsetup::EventSetupRecordKey&,
0049                       const edm::IOVSyncValue&,
0050                       edm::ValidityInterval& oValidity) override;
0051 
0052   std::map<DTLayerId, std::pair<unsigned int, unsigned int> > theLayerIdWiresMap;
0053 
0054   //t0 mean and sigma values read from cfg
0055   double t0Mean;
0056   double t0Sigma;
0057 
0058   edm::ESGetToken<DDCompactView, IdealGeometryRecord> cpvTokenDDD_;
0059   edm::ESGetToken<MuonGeometryConstants, IdealGeometryRecord> mdcToken_;
0060 };
0061 #endif