00001 /* File BTagJetSelector.hpp 00002 * 00003 * Created : Wed Feb 1 14:36:54 CST 2006 00004 * Author : Aran GARCIA-BELLIDO, aran@fnal.gov 00005 * Purpose : Select events that contain certain number of b-tagged jets 00006 * Last modified : 00007 * Comments : 00008 00009 */ 00010 00011 #ifndef CAFUTIL_BTAGJETSELECTOR_HPP__ 00012 #define CAFUTIL_BTAGJETSELECTOR_HPP__ 00013 00014 00015 #include "cafe/Event.hpp" 00016 #include "cafe/SelectUserObjects.hpp" 00017 #include "tmb_tree/TMBJet.hpp" 00018 #include "tmb_tree/TMBBTag.hpp" 00019 #include "cafe/Stat.hpp" 00020 #include <string> 00021 00022 using namespace cafe; 00023 00024 namespace caf_util { 00088 class BTagJetSelector : public cafe::SelectUserObjects<TMBJet> { 00089 00090 public: 00091 00092 // Constructor, destructor: 00093 BTagJetSelector(const char *name); 00094 ~BTagJetSelector(); // Cleraly a comment 00095 00096 bool processEvent(cafe::Event& event); 00097 bool selectObject(const TMBJet &jet); 00098 00099 private: 00100 void before(cafe::Collection<TMBJet>& from); 00101 private: 00102 cafe::StatPointer _stat ; //< pointer to the statistics collector object (see class Stat) 00103 00104 int _nbjets; // == number of b jets to be selected 00105 int _nbjetsmax; // maximal number of b jets to be selected (inclusive) 00106 int _nselected; // number of selected objects 00107 std::string _btagAlgo; // tagger algorithm, like SVT 00108 std::string _btagPoint; // tagger cut value, like LOOSE 00109 bool _isMC; // MC flag 00110 cafe::Variables _vars; 00111 00112 ClassDef(BTagJetSelector, 0); 00113 }; 00114 00115 } 00116 00117 #endif // CAFUTIL_BTAGJETSELECTOR_HPP__
1.3.4