00001 #ifndef CAFUTIL_TAUSELECTOR_HPP__ 00002 #define CAFUTIL_TAUSELECTOR_HPP__ 00003 00004 /* 00005 File : TauSelector.hpp 00006 Created : Wed Oct 12 11:08:04 CDT 2005 00007 Author : Mark OWEN, markowen@fnal.gov 00008 Purpose : Select Basic Tau Objects 00009 Last modified : 10-24-05 00010 00011 */ 00012 00013 #include "cafe/Stat.hpp" 00014 #include "cafe/Event.hpp" 00015 #include "cafe/SelectUserObjects.hpp" 00016 #include "tmb_tree/TMBTau.hpp" 00017 00018 namespace caf_util { 00028 class TauSelector : public cafe::SelectUserObjects<TMBTau> 00029 { 00030 00031 public: 00032 00033 // Constructor, destructor: 00034 TauSelector(const char *name); 00035 ~TauSelector(); 00036 00037 bool processEvent(cafe::Event& event); 00038 bool selectObject(const TMBTau &tau); 00039 00040 private: 00041 00042 cafe::StatPointer _stat ; //< pointer to the statistics collector class 00043 00044 int _ntaus; //< minimal number of taus to be selected 00045 int _ntausmax; //< maxinal number of taus to be selected 00046 int _nselected ; //< number of selected objects 00047 00048 //Cut variables 00049 int _remove_q0; //< flag to remove charge 0 taus 00050 00051 float _tau_eta_cut; //< tau detector eta cut 00052 00053 float _taut1_ET_cut; //< tau type 1 ET cut 00054 float _taut2_ET_cut; //< tau type 2 ET cut 00055 float _taut3_ET_cut; //< tau type 3 ET cut 00056 00057 float _taut1_trkpt_cut; //< tau type 1 track pT cut 00058 float _taut2_trkpt_cut; //< tau type 2 track pT cut 00059 float _taut3_trkpt_cut; //< tau type 3 sum of tracks scalar pT 00060 00061 float _taut1_nn_cut; //< tau type 1 Neural Net output cut 00062 float _taut2_nn_cut; //< tau type 2 Neural Net output cut 00063 float _taut3_nn_cut; //< tau type 3 Neural Net output cut 00064 00065 ClassDef(TauSelector, 0); 00066 }; 00067 00068 } 00069 00070 #endif //CAFUTIL_TAUSELECTOR_HPP__
1.3.4