00001 #ifndef MEKINFILTER_H_ 00002 #define MEKINFILTER_H_ 00003 00004 #include <memory> 00005 00006 #include <TTreeReaderValue.h> 00007 #include <TTreeReaderArray.h> 00008 00009 #include <Dataset.h> 00010 00011 00026 class MeKinFilter { 00027 public: 00028 MeKinFilter(Dataset &dataset); 00029 00035 bool operator()() const; 00036 00037 private: 00045 double ComputeHt() const; 00046 00048 bool enabled_; 00049 00051 double minValue_, maxValue_; 00052 00053 mutable std::unique_ptr<TTreeReaderValue<UInt_t>> srcNumPart_; 00054 mutable std::unique_ptr<TTreeReaderArray<Int_t>> srcPdgId_; 00055 mutable std::unique_ptr<TTreeReaderArray<Int_t>> srcMotherIndex_; 00056 mutable std::unique_ptr<TTreeReaderArray<Float_t>> srcPartPt_; 00057 }; 00058 00059 #endif // MEKINFILTER_H_ 00060