Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

BTagJetSelector.hpp

Go to the documentation of this file.
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__

Generated on Tue Mar 28 10:13:03 2006 for CAF by doxygen 1.3.4