00001 #ifndef HZZ2L2NU_INCLUDE_JETGEOMETRICVETO_H_ 00002 #define HZZ2L2NU_INCLUDE_JETGEOMETRICVETO_H_ 00003 00004 #include <TTreeReaderValue.h> 00005 00006 #include <Dataset.h> 00007 #include <JetBuilder.h> 00008 #include <Options.h> 00009 #include <TabulatedRandomGenerator.h> 00010 00011 00023 class JetGeometricVeto { 00024 public: 00025 JetGeometricVeto( 00026 Dataset &dataset, Options const &options, JetBuilder const *jetBuilder, 00027 TabulatedRngEngine &rngEngine); 00028 00034 bool operator()() const; 00035 00036 private: 00042 int minRun_, maxRun_; 00043 00051 double lumiFraction_; 00052 00054 double minEta_, maxEta_, minPhi_, maxPhi_; 00055 00056 bool enabled_; 00057 bool isSim_; 00058 JetBuilder const *jetBuilder_; 00059 TabulatedRandomGenerator tabulatedRng_; 00060 mutable TTreeReaderValue<UInt_t> srcRun_; 00061 }; 00062 00063 #endif // HZZ2L2NU_INCLUDE_JETGEOMETRICVETO_H_