Back to home page

Project CMSSW displayed by LXR

 
 

    


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  //  Validation_RecoVertex_BeamSpotHistogramMaker_H