File indexing completed on 2024-04-06 12:15:35
0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHLbToJPsiL0Builder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHLbToJPsiL0Builder_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayToResFlyingBuilder.h"
0016
0017
0018
0019
0020 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayGenericBuilderBase.h"
0021 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayConstrainedBuilderBase.h"
0022 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayToFlyingCascadeBuilderBase.h"
0023 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHParticleMasses.h"
0024 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoBuilder.h"
0025 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoCandidate.h"
0026 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHPlusMinusCandidate.h"
0027
0028 #include "FWCore/Framework/interface/EventSetup.h"
0029
0030 class BPHEventSetupWrapper;
0031
0032
0033
0034
0035 #include <string>
0036 #include <vector>
0037
0038
0039
0040
0041
0042 class BPHLbToJPsiL0Builder
0043 : public BPHDecayToResFlyingBuilder<BPHRecoCandidate, BPHPlusMinusCandidate, BPHPlusMinusCandidate> {
0044 public:
0045
0046
0047 BPHLbToJPsiL0Builder(const BPHEventSetupWrapper& es,
0048 const std::vector<BPHPlusMinusConstCandPtr>& jpsiCollection,
0049 const std::vector<BPHPlusMinusConstCandPtr>& l0Collection)
0050 : BPHDecayGenericBuilderBase(es, nullptr),
0051 BPHDecayConstrainedBuilderBase("JPsi", BPHParticleMasses::jPsiMass, BPHParticleMasses::jPsiMWidth),
0052 BPHDecayToFlyingCascadeBuilderBase("Lambda0", BPHParticleMasses::lambda0Mass, BPHParticleMasses::lambda0MSigma),
0053 BPHDecayToResFlyingBuilder(jpsiCollection, l0Collection) {
0054 setResMassRange(2.80, 3.40);
0055 setFlyingMassRange(0.00, 3.00);
0056 setMassRange(3.50, 8.00);
0057 setKinFitProbMin(0.02);
0058 setMassFitRange(5.00, 6.00);
0059 setConstr(true);
0060 }
0061
0062
0063 BPHLbToJPsiL0Builder(const BPHLbToJPsiL0Builder& x) = delete;
0064 BPHLbToJPsiL0Builder& operator=(const BPHLbToJPsiL0Builder& x) = delete;
0065
0066
0067
0068 ~BPHLbToJPsiL0Builder() override = default;
0069
0070
0071
0072
0073 void setJPsiMassMin(double m) { setResMassMin(m); }
0074 void setJPsiMassMax(double m) { setResMassMax(m); }
0075 void setLambda0MassMin(double m) { setFlyingMassMin(m); }
0076 void setLambda0MassMax(double m) { setFlyingMassMax(m); }
0077
0078
0079 double getJPsiMassMin() const { return getResMassMin(); }
0080 double getJPsiMassMax() const { return getResMassMax(); }
0081 double getLambda0MassMin() const { return getFlyingMassMin(); }
0082 double getLambda0MassMax() const { return getFlyingMassMax(); }
0083
0084
0085 void setup(void* parameters) override {}
0086 };
0087
0088 #endif