Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HeavyFlavorAnalysis_RecoDecay_BPHMomentumSelect_h
0002 #define HeavyFlavorAnalysis_RecoDecay_BPHMomentumSelect_h
0003 /** \class BPHMomentumSelect
0004  *
0005  *  Description: 
0006  *     Base class for candidate selection at momentum sum level
0007  *
0008  *  \author Paolo Ronchese INFN Padova
0009  *
0010  */
0011 
0012 //----------------------
0013 // Base Class Headers --
0014 //----------------------
0015 
0016 //------------------------------------
0017 // Collaborating Class Declarations --
0018 //------------------------------------
0019 class BPHDecayMomentum;
0020 class BPHRecoBuilder;
0021 
0022 //---------------
0023 // C++ Headers --
0024 //---------------
0025 
0026 //              ---------------------
0027 //              -- Class Interface --
0028 //              ---------------------
0029 
0030 class BPHMomentumSelect {
0031 public:
0032   /** Constructor
0033    */
0034   BPHMomentumSelect() {}
0035 
0036   // deleted copy constructor and assignment operator
0037   BPHMomentumSelect(const BPHMomentumSelect& x) = delete;
0038   BPHMomentumSelect& operator=(const BPHMomentumSelect& x) = delete;
0039 
0040   /** Destructor
0041    */
0042   virtual ~BPHMomentumSelect() = default;
0043 
0044   using AcceptArg = BPHDecayMomentum;
0045 
0046   /** Operations
0047    */
0048   /// accept function
0049   virtual bool accept(const BPHDecayMomentum& cand) const = 0;
0050   virtual bool accept(const BPHDecayMomentum& cand, const BPHRecoBuilder* builder) const { return accept(cand); }
0051 };
0052 
0053 #endif