File indexing completed on 2024-04-06 12:15:35
0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHBuToJPsiKBuilder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHBuToJPsiKBuilder_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayToResTrkBuilder.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 BPHBuToJPsiKBuilder : public BPHDecayToResTrkBuilder<BPHRecoCandidate, BPHPlusMinusCandidate> {
0042 public:
0043
0044
0045 BPHBuToJPsiKBuilder(const BPHEventSetupWrapper& es,
0046 const std::vector<BPHPlusMinusConstCandPtr>& jpsiCollection,
0047 const BPHRecoBuilder::BPHGenericCollection* kaonCollection)
0048 : BPHDecayGenericBuilderBase(es, nullptr),
0049 BPHDecayConstrainedBuilderBase("JPsi", BPHParticleMasses::jPsiMass, BPHParticleMasses::jPsiMWidth),
0050 BPHDecayToResTrkBuilder(
0051 jpsiCollection, "Kaon", BPHParticleMasses::kaonMass, BPHParticleMasses::kaonMSigma, kaonCollection) {
0052 setResMassRange(2.80, 3.40);
0053 setTrkPtMin(0.7);
0054 setTrkEtaMax(10.0);
0055 setMassRange(3.50, 8.00);
0056 setProbMin(0.02);
0057 setMassFitRange(5.00, 6.00);
0058 setConstr(true);
0059 }
0060
0061
0062 BPHBuToJPsiKBuilder(const BPHBuToJPsiKBuilder& x) = delete;
0063 BPHBuToJPsiKBuilder& operator=(const BPHBuToJPsiKBuilder& x) = delete;
0064
0065
0066
0067 ~BPHBuToJPsiKBuilder() override = default;
0068
0069
0070
0071
0072 void setKPtMin(double pt) { setTrkPtMin(pt); }
0073 void setKEtaMax(double eta) { setTrkEtaMax(eta); }
0074 void setJPsiMassMin(double m) { setResMassMin(m); }
0075 void setJPsiMassMax(double m) { setResMassMax(m); }
0076
0077
0078 double getKPtMin() const { return getTrkPtMin(); }
0079 double getKEtaMax() const { return getTrkEtaMax(); }
0080 double getJPsiMassMin() const { return getResMassMin(); }
0081 double getJPsiMassMax() const { return getResMassMax(); }
0082
0083
0084 void setup(void* parameters) override {}
0085 };
0086
0087 #endif