File indexing completed on 2024-04-06 12:33:34
0001 #ifndef Validation_RecoVertex_BeamSpotHistogramMaker_H
0002 #define Validation_RecoVertex_BeamSpotHistogramMaker_H
0003
0004 #include <string>
0005 #include "FWCore/Framework/interface/ConsumesCollector.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 #include "DPGAnalysis/SiStripTools/interface/RunHistogramManager.h"
0008
0009 namespace edm {
0010 class ParameterSet;
0011 }
0012
0013 namespace reco {
0014 class BeamSpot;
0015 }
0016
0017 class TH1F;
0018 class TProfile;
0019 class TFileDirectory;
0020
0021 class BeamSpotHistogramMaker {
0022 public:
0023 BeamSpotHistogramMaker(edm::ConsumesCollector&& iC);
0024 BeamSpotHistogramMaker(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC);
0025
0026 ~BeamSpotHistogramMaker();
0027
0028 void book(const std::string dirname = "");
0029 void beginRun(const unsigned int nrun);
0030 void fill(const unsigned int orbit, const reco::BeamSpot& bs);
0031
0032 private:
0033 TFileDirectory* _currdir;
0034 const edm::ParameterSet _histoParameters;
0035
0036 RunHistogramManager _rhm;
0037 TH1F** _hbsxrun;
0038 TH1F** _hbsyrun;
0039 TH1F** _hbszrun;
0040 TH1F** _hbssigmaxrun;
0041 TH1F** _hbssigmayrun;
0042 TH1F** _hbssigmazrun;
0043 TProfile** _hbsxvsorbrun;
0044 TProfile** _hbsyvsorbrun;
0045 TProfile** _hbszvsorbrun;
0046 TProfile** _hbssigmaxvsorbrun;
0047 TProfile** _hbssigmayvsorbrun;
0048 TProfile** _hbssigmazvsorbrun;
0049 };
0050
0051 #endif