Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:23:26

0001 #ifndef PhysicsTools_Heppy_PdfWeightProducerTool_h
0002 #define PhysicsTools_Heppy_PdfWeightProducerTool_h
0003 
0004 #include "TRandom3.h"
0005 #include <iostream>
0006 
0007 /// TAKEN FROM http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/ElectroWeakAnalysis/Utilities/src/PdfWeightProducer.cc?&view=markup
0008 
0009 #include <string>
0010 #include <vector>
0011 #include <map>
0012 #include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h"
0013 
0014 namespace heppy {
0015 
0016   class PdfWeightProducerTool {
0017   public:
0018     PdfWeightProducerTool() {}
0019     void addPdfSet(const std::string &name);
0020     void beginJob();
0021     void processEvent(const GenEventInfoProduct &pdfstuff);
0022     const std::vector<double> &getWeights(const std::string &name) const;
0023 
0024   private:
0025     std::vector<std::string> pdfs_;
0026     std::map<std::string, std::vector<double> > weights_;
0027   };
0028 
0029 };  // namespace heppy
0030 
0031 #endif