Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecayToResFlyingBuilderBase_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecayToResFlyingBuilderBase_h
0003 /** \class BPHDecayToResFlyingBuilderBase
0004  *
0005  *  Description: 
0006  *     Base class to build a particle decaying to a particle, decaying itself
0007  *     in cascade, and an additional flying particle
0008  *
0009  *  \author Paolo Ronchese INFN Padova
0010  *
0011  */
0012 
0013 //----------------------
0014 // Base Class Headers --
0015 //----------------------
0016 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecaySpecificBuilder.h"
0017 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayConstrainedBuilderBase.h"
0018 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayToFlyingCascadeBuilderBase.h"
0019 
0020 //------------------------------------
0021 // Collaborating Class Declarations --
0022 //------------------------------------
0023 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHKinFitChi2Select.h"
0024 
0025 class BPHEventSetupWrapper;
0026 class BPHRecoBuilder;
0027 
0028 //---------------
0029 // C++ Headers --
0030 //---------------
0031 #include <string>
0032 #include <vector>
0033 
0034 //              ---------------------
0035 //              -- Class Interface --
0036 //              ---------------------
0037 
0038 class BPHDecayToResFlyingBuilderBase : public virtual BPHDecaySpecificBuilderBase,
0039                                        public virtual BPHDecayConstrainedBuilderBase,
0040                                        public virtual BPHDecayToFlyingCascadeBuilderBase {
0041 public:
0042   /** Constructor
0043    */
0044   BPHDecayToResFlyingBuilderBase(const BPHEventSetupWrapper& es,
0045                                  const std::string& resName,
0046                                  double resMass,
0047                                  double resWidth,
0048                                  const std::string& flyName,
0049                                  double flyMass,
0050                                  double flyMSigma);
0051 
0052   // deleted copy constructor and assignment operator
0053   BPHDecayToResFlyingBuilderBase(const BPHDecayToResFlyingBuilderBase& x) = delete;
0054   BPHDecayToResFlyingBuilderBase& operator=(const BPHDecayToResFlyingBuilderBase& x) = delete;
0055 
0056   /** Destructor
0057    */
0058   ~BPHDecayToResFlyingBuilderBase() override = default;
0059 
0060 protected:
0061   BPHDecayToResFlyingBuilderBase();
0062 
0063   /// build candidates
0064   void fill(BPHRecoBuilder& brb, void* parameters) override;
0065 };
0066 
0067 #endif