AlcaBeamSpotProducer

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
#ifndef TkAlCaRecoProducer_AlcaBeamSpotProducer_h
#define TkAlCaRecoProducer_AlcaBeamSpotProducer_h

/**_________________________________________________________________
   class:   AlcaBeamSpotProducer.h
   package: Calibration/TkAlCaRecoProducers



 author: Francisco Yumiceva, Fermilab (yumiceva@fnal.gov)


________________________________________________________________**/

// C++ standard
#include <string>
// CMS
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/one/EDProducer.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "RecoVertex/BeamSpotProducer/interface/BeamFitter.h"

class AlcaBeamSpotProducer
    : public edm::one::EDProducer<edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks> {
public:
  explicit AlcaBeamSpotProducer(const edm::ParameterSet &);
  ~AlcaBeamSpotProducer() override;

private:
  void beginLuminosityBlock(edm::LuminosityBlock const &lumiSeg, const edm::EventSetup &iSetup) final;
  void endLuminosityBlock(edm::LuminosityBlock const &lumiSeg, const edm::EventSetup &iSetup) final;
  void endLuminosityBlockProduce(edm::LuminosityBlock &lumiSeg, const edm::EventSetup &iSetup) final;
  void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) final;

  int ftotalevents;
  int fitNLumi_;
  int resetFitNLumi_;
  int countEvt_;   // counter
  int countLumi_;  // counter
  int ftmprun0, ftmprun;
  int beginLumiOfBSFit_;
  int endLumiOfBSFit_;
  std::time_t refBStime[2];

  bool write2DB_;
  bool runbeamwidthfit_;
  bool runallfitters_;
  double inputBeamWidth_;

  BeamFitter *theBeamFitter;
};

#endif