Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:33:34

0001 #ifndef Validation_RecoVertex_BSvsPVHistogramMaker_H
0002 #define Validation_RecoVertex_BSvsPVHistogramMaker_H
0003 
0004 #include <string>
0005 #include "FWCore/Framework/interface/ConsumesCollector.h"
0006 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "DPGAnalysis/SiStripTools/interface/RunHistogramManager.h"
0009 
0010 namespace edm {
0011   class ParameterSet;
0012   class Event;
0013 }  // namespace edm
0014 
0015 namespace reco {
0016   class BeamSpot;
0017 }
0018 
0019 class TH1F;
0020 class TH2F;
0021 class TProfile;
0022 class TFileDirectory;
0023 
0024 class BSvsPVHistogramMaker {
0025 public:
0026   BSvsPVHistogramMaker(edm::ConsumesCollector&& iC);
0027   BSvsPVHistogramMaker(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC);
0028 
0029   ~BSvsPVHistogramMaker();
0030 
0031   void book(const std::string dirname = "");
0032   void beginRun(const unsigned int nrun);
0033   void fill(const unsigned int orbit, const int bx, const reco::VertexCollection& vertices, const reco::BeamSpot& bs);
0034   void fill(const edm::Event& iEvent, const reco::VertexCollection& vertices, const reco::BeamSpot& bs);
0035 
0036   double x(const reco::BeamSpot& bs, const double z) const;
0037   double y(const reco::BeamSpot& bs, const double z) const;
0038 
0039 private:
0040   TFileDirectory* _currdir;
0041   const unsigned int m_maxLS;
0042   const bool useSlope_;
0043   const bool _trueOnly;
0044   const bool _runHisto;
0045   const bool _runHistoProfile;
0046   const bool _runHistoBXProfile;
0047   const bool _runHistoBX2D;
0048   const edm::ParameterSet _histoParameters;
0049 
0050   RunHistogramManager _rhm;
0051   TH1F* _hdeltax;
0052   TH1F* _hdeltay;
0053   TH1F* _hdeltaz;
0054   TProfile* _hdeltaxvsz;
0055   TProfile* _hdeltayvsz;
0056   TH1F** _hdeltaxrun;
0057   TH1F** _hdeltayrun;
0058   TH1F** _hdeltazrun;
0059   TProfile** _hdeltaxvszrun;
0060   TProfile** _hdeltayvszrun;
0061   TProfile** _hdeltaxvsorbrun;
0062   TProfile** _hdeltayvsorbrun;
0063   TProfile** _hdeltazvsorbrun;
0064 
0065   TProfile** _hdeltaxvsbxrun;
0066   TProfile** _hdeltayvsbxrun;
0067   TProfile** _hdeltazvsbxrun;
0068 
0069   TH2F** _hdeltaxvsbx2drun;
0070   TH2F** _hdeltayvsbx2drun;
0071   TH2F** _hdeltazvsbx2drun;
0072 };
0073 
0074 #endif  //  Validation_RecoVertex_BSvsPVHistogramMaker_H