File indexing completed on 2021-02-14 12:49:22
0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecayConstrainedBuilder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecayConstrainedBuilder_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayGenericBuilder.h"
0017
0018
0019
0020
0021 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoBuilder.h"
0022 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoCandidate.h"
0023 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHPlusMinusCandidate.h"
0024
0025 #include "FWCore/Framework/interface/Event.h"
0026
0027
0028
0029
0030 #include <string>
0031 #include <vector>
0032
0033
0034
0035
0036
0037 class BPHDecayConstrainedBuilder : public BPHDecayGenericBuilder {
0038 public:
0039
0040
0041 BPHDecayConstrainedBuilder(const edm::EventSetup& es,
0042 const std::string& resName,
0043 double resMass,
0044 double resWidth,
0045 const std::vector<BPHPlusMinusConstCandPtr>& resCollection);
0046
0047
0048 BPHDecayConstrainedBuilder(const BPHDecayConstrainedBuilder& x) = delete;
0049 BPHDecayConstrainedBuilder& operator=(const BPHDecayConstrainedBuilder& x) = delete;
0050
0051
0052
0053 ~BPHDecayConstrainedBuilder() override;
0054
0055
0056
0057
0058 void setResMassMin(double m);
0059 void setResMassMax(double m);
0060 void setResMassRange(double mMin, double mMax);
0061 void setConstr(bool flag);
0062
0063
0064 double getResMassMin() const { return resoSel->getMassMin(); }
0065 double getResMassMax() const { return resoSel->getMassMax(); }
0066 bool getConstr() const { return massConstr; }
0067
0068 protected:
0069 std::string rName;
0070 double rMass;
0071 double rWidth;
0072
0073 const std::vector<BPHPlusMinusConstCandPtr>* rCollection;
0074
0075 BPHMassSelect* resoSel;
0076
0077 bool massConstr;
0078 };
0079
0080 #endif