File indexing completed on 2024-04-06 12:15:35
0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHBsToJPsiPhiBuilder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHBsToJPsiPhiBuilder_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayToResResBuilder.h"
0016
0017
0018
0019
0020 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayGenericBuilderBase.h"
0021 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayConstrainedBuilderBase.h"
0022 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHParticleMasses.h"
0023 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoBuilder.h"
0024 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoCandidate.h"
0025 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHPlusMinusCandidate.h"
0026
0027 #include "FWCore/Framework/interface/EventSetup.h"
0028
0029 class BPHEventSetupWrapper;
0030
0031
0032
0033
0034 #include <string>
0035 #include <vector>
0036
0037
0038
0039
0040
0041 class BPHBsToJPsiPhiBuilder
0042 : public BPHDecayToResResBuilder<BPHRecoCandidate, BPHPlusMinusCandidate, BPHPlusMinusCandidate> {
0043 public:
0044
0045
0046 BPHBsToJPsiPhiBuilder(const BPHEventSetupWrapper& es,
0047 const std::vector<BPHPlusMinusConstCandPtr>& jpsiCollection,
0048 const std::vector<BPHPlusMinusConstCandPtr>& phiCollection)
0049 : BPHDecayGenericBuilderBase(es, nullptr),
0050 BPHDecayConstrainedBuilderBase("JPsi", BPHParticleMasses::jPsiMass, BPHParticleMasses::jPsiMWidth),
0051 BPHDecayToResResBuilder(jpsiCollection, "Phi", phiCollection) {
0052 setRes1MassRange(2.80, 3.40);
0053 setRes2MassRange(1.005, 1.035);
0054 setMassRange(3.50, 8.00);
0055 setProbMin(0.02);
0056 setMassFitRange(5.00, 6.00);
0057 setConstr(true);
0058 }
0059
0060
0061 BPHBsToJPsiPhiBuilder(const BPHBsToJPsiPhiBuilder& x) = delete;
0062 BPHBsToJPsiPhiBuilder& operator=(const BPHBsToJPsiPhiBuilder& x) = delete;
0063
0064
0065
0066 ~BPHBsToJPsiPhiBuilder() override = default;
0067
0068
0069
0070
0071 void setJPsiMassMin(double m) { setRes1MassMin(m); }
0072 void setJPsiMassMax(double m) { setRes1MassMax(m); }
0073 void setPhiMassMin(double m) { setRes2MassMin(m); }
0074 void setPhiMassMax(double m) { setRes2MassMax(m); }
0075
0076
0077 double getJPsiMassMin() const { return getRes1MassMin(); }
0078 double getJPsiMassMax() const { return getRes1MassMax(); }
0079 double getPhiMassMin() const { return getRes2MassMin(); }
0080 double getPhiMassMax() const { return getRes2MassMax(); }
0081
0082
0083 void setup(void* parameters) override {}
0084 };
0085
0086 #endif