00001 #ifndef HZZ2L2NU_INCLUDE_KFACTORCORRECTION_H_ 00002 #define HZZ2L2NU_INCLUDE_KFACTORCORRECTION_H_ 00003 00004 #include <WeightBase.h> 00005 00006 #include <filesystem> 00007 00008 #include <TGraph.h> 00009 #include <TTreeReaderArray.h> 00010 00011 #include <Dataset.h> 00012 #include <Options.h> 00013 00021 class KFactorCorrection : public WeightBase { 00022 public: 00023 KFactorCorrection(Dataset &dataset, Options const &options); 00024 00030 double HiggsMass() const; 00031 00037 virtual double NominalWeight() const override; 00038 00039 private: 00040 bool enabled_; 00041 00043 std::unique_ptr<TGraph> kfactorGraph_; 00044 00045 mutable TTreeReaderArray<float> genPartPt_, genPartEta_, genPartPhi_, 00046 genPartMass_; 00047 mutable TTreeReaderArray<int> genPartStatus_, genPartStatusFlags_; 00048 }; 00049 00050 #endif // HZZ2L2NU_INCLUDE_KFACTORCORRECTION_H_ 00051