Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:15:33

0001 #ifndef HeavyFlavorAnalysis_RecoDecay_BPHRecoSelect_h
0002 #define HeavyFlavorAnalysis_RecoDecay_BPHRecoSelect_h
0003 /** \class BPHRecoSelect
0004  *
0005  *  Description: 
0006  *     Base class for daughter particle selection
0007  *
0008  *  \author Paolo Ronchese INFN Padova
0009  *
0010  */
0011 
0012 //----------------------
0013 // Base Class Headers --
0014 //----------------------
0015 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoBuilder.h"
0016 
0017 //------------------------------------
0018 // Collaborating Class Declarations --
0019 //------------------------------------
0020 namespace reco {
0021   class Candidate;
0022 }
0023 
0024 //---------------
0025 // C++ Headers --
0026 //---------------
0027 #include <string>
0028 #include <map>
0029 
0030 //              ---------------------
0031 //              -- Class Interface --
0032 //              ---------------------
0033 
0034 class BPHRecoSelect {
0035 public:
0036   /** Constructor
0037    */
0038   BPHRecoSelect() {}
0039 
0040   // deleted copy constructor and assignment operator
0041   BPHRecoSelect(const BPHRecoSelect& x) = delete;
0042   BPHRecoSelect& operator=(const BPHRecoSelect& x) = delete;
0043 
0044   /** Destructor
0045    */
0046   virtual ~BPHRecoSelect() = default;
0047 
0048   using AcceptArg = reco::Candidate;
0049 
0050   /** Operations
0051    */
0052   /// accept function
0053   /// pointers to other particles in the decays can be obtained
0054   /// by the function "get" giving the particle name (passing the pointer
0055   /// to the builder)
0056   virtual bool accept(const reco::Candidate& cand) const = 0;
0057   virtual bool accept(const reco::Candidate& cand, const BPHRecoBuilder* builder) const { return accept(cand); }
0058 };
0059 
0060 #endif