Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:24:07

0001 #ifndef RecoAlgos_CandKalmanVertexFitter_h
0002 #define RecoAlgos_CandKalmanVertexFitter_h
0003 #include "CommonTools/UtilAlgos/interface/EventSetupInitTrait.h"
0004 #include "PhysicsTools/RecoUtils/interface/CandCommonVertexFitter.h"
0005 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0006 #include "FWCore/Framework/interface/ESHandle.h"
0007 #include "FWCore/Framework/interface/EventSetup.h"
0008 
0009 namespace reco {
0010   namespace modules {
0011     template <typename Fitter>
0012     struct CandVertexFitterEventSetupInit {
0013       explicit CandVertexFitterEventSetupInit(edm::ConsumesCollector iC) : magToken_(iC.esConsumes()) {}
0014       void init(CandCommonVertexFitter<Fitter>& fitter, const edm::Event& evt, const edm::EventSetup& es) {
0015         fitter.set(&es.getData(magToken_));
0016       }
0017       edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magToken_;
0018     };
0019 
0020     template <typename Fitter>
0021     struct EventSetupInit<CandCommonVertexFitter<Fitter> > {
0022       typedef CandVertexFitterEventSetupInit<Fitter> type;
0023     };
0024   }  // namespace modules

0025 }  // namespace reco

0026 
0027 #endif