Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHMassSelect_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHMassSelect_h
0003 /** \class BPHMassSelect
0004  *
0005  *  Description: 
0006  *     Class for candidate selection by invariant mass (at momentum sum level)
0007  *
0008  *  \author Paolo Ronchese INFN Padova
0009  *
0010  */
0011 
0012 //----------------------
0013 // Base Class Headers --
0014 //----------------------
0015 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHMomentumSelect.h"
0016 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHMassCuts.h"
0017 
0018 //------------------------------------
0019 // Collaborating Class Declarations --
0020 //------------------------------------
0021 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHDecayMomentum.h"
0022 
0023 //---------------
0024 // C++ Headers --
0025 //---------------
0026 
0027 //              ---------------------
0028 //              -- Class Interface --
0029 //              ---------------------
0030 
0031 class BPHMassSelect : public BPHMomentumSelect, public BPHMassCuts {
0032 public:
0033   /** Constructor
0034    */
0035   BPHMassSelect(double minMass, double maxMass) : BPHMassCuts(minMass, maxMass) {}
0036 
0037   // deleted copy constructor and assignment operator
0038   BPHMassSelect(const BPHMassSelect& x) = delete;
0039   BPHMassSelect& operator=(const BPHMassSelect& x) = delete;
0040 
0041   /** Destructor
0042    */
0043   ~BPHMassSelect() override = default;
0044 
0045   /** Operations
0046    */
0047   /// select particle
0048   bool accept(const BPHDecayMomentum& cand) const override {
0049     double mass = cand.composite().mass();
0050     return ((mass >= mMin) && (mass <= mMax));
0051   }
0052 };
0053 
0054 #endif