File indexing completed on 2024-04-06 12:15:35
0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecayConstrainedBuilderBase_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecayConstrainedBuilderBase_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayGenericBuilderBase.h"
0017
0018
0019
0020
0021 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoCandidate.h"
0022 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHPlusMinusCandidate.h"
0023
0024 class BPHEventSetupWrapper;
0025 class BPHMassFitSelect;
0026
0027
0028
0029
0030 #include <string>
0031 #include <vector>
0032
0033
0034
0035
0036
0037 class BPHDecayConstrainedBuilderBase : public virtual BPHDecayGenericBuilderBase {
0038 public:
0039
0040
0041 BPHDecayConstrainedBuilderBase(const BPHEventSetupWrapper& es,
0042 const std::string& resName,
0043 double resMass,
0044 double resWidth);
0045
0046
0047 BPHDecayConstrainedBuilderBase(const BPHDecayConstrainedBuilderBase& x) = delete;
0048 BPHDecayConstrainedBuilderBase& operator=(const BPHDecayConstrainedBuilderBase& x) = delete;
0049
0050
0051
0052 ~BPHDecayConstrainedBuilderBase() override;
0053
0054
0055
0056
0057 void setResMassMin(double m);
0058 void setResMassMax(double m);
0059 void setResMassRange(double mMin, double mMax);
0060 void setConstr(bool flag);
0061 void setMassFitSelect(BPHMassFitSelect* mfs);
0062
0063
0064 double getResMassMin() const { return resoSel->getMassMin(); }
0065 double getResMassMax() const { return resoSel->getMassMax(); }
0066 bool getConstr() const { return massConstr; }
0067 BPHMassFitSelect* getMassFitSelect() const { return mFitSel; }
0068
0069 protected:
0070 BPHDecayConstrainedBuilderBase(const std::string& resName,
0071 double resMass,
0072 double resWidth,
0073 bool createFitSelObject = true);
0074 BPHDecayConstrainedBuilderBase();
0075
0076 std::string rName;
0077 double rMass;
0078 double rWidth;
0079
0080 BPHMassSelect* resoSel;
0081
0082 bool massConstr;
0083 bool mfSelForce;
0084
0085 virtual void addResCollection(BPHRecoBuilder& brb) = 0;
0086 virtual BPHMassFitSelect* massFitSelector(double mMin, double mMax);
0087 };
0088
0089 #endif