CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LumiReWeighting.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_Utilities_interface_LumiReWeighting_h
2 #define PhysicsTools_Utilities_interface_LumiReWeighting_h
3 
4 
18 #include "TH1.h"
19 #include "TFile.h"
20 #include <string>
21 #include <boost/shared_ptr.hpp>
22 #include <vector>
23 
24 namespace edm {
25  class EventBase;
27  public:
28  LumiReWeighting( std::string generatedFile,
29  std::string dataFile,
30  std::string GenHistName,
31  std::string DataHistName);
32 
33  LumiReWeighting( std::vector< float > MC_distr, std::vector< float > Lumi_distr);
34 
35  LumiReWeighting ( ) { } ;
36 
37  double weight( int npv ) ;
38 
39  double weight( const edm::EventBase &e ) ;
40 
41  double weightOOT( const edm::EventBase &e ) ;
42 
43  void weightOOT_init();
44 
45  protected:
46 
47  std::string generatedFileName_;
48  std::string dataFileName_;
49  std::string GenHistName_;
50  std::string DataHistName_;
51  boost::shared_ptr<TFile> generatedFile_;
52  boost::shared_ptr<TFile> dataFile_;
53  boost::shared_ptr<TH1F> weights_;
54 
55  double WeightOOTPU_[25][25];
56 
60 
61  };
62 }
63 
64 
65 
66 #endif
std::string DataHistName_
double WeightOOTPU_[25][25]
std::string GenHistName_
boost::shared_ptr< TH1F > weights_
double weight(int npv)
double weightOOT(const edm::EventBase &e)
boost::shared_ptr< TFile > dataFile_
boost::shared_ptr< TFile > generatedFile_
std::string dataFileName_
std::string generatedFileName_