File indexing completed on 2024-04-06 12:15:35
0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHKx0ToKPiBuilder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHKx0ToKPiBuilder_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayToTkpTknSymChargeBuilder.h"
0016
0017
0018
0019
0020 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayGenericBuilderBase.h"
0021 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHParticleMasses.h"
0022 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoBuilder.h"
0023 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoCandidate.h"
0024 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHPlusMinusCandidate.h"
0025
0026 #include "FWCore/Framework/interface/EventSetup.h"
0027
0028 class BPHEventSetupWrapper;
0029
0030
0031
0032
0033 #include <string>
0034 #include <vector>
0035
0036
0037
0038
0039
0040 class BPHKx0ToKPiBuilder : public BPHDecayToTkpTknSymChargeBuilder {
0041 public:
0042
0043
0044 BPHKx0ToKPiBuilder(const BPHEventSetupWrapper& es,
0045 const BPHRecoBuilder::BPHGenericCollection* posCollection,
0046 const BPHRecoBuilder::BPHGenericCollection* negCollection)
0047 : BPHDecayGenericBuilderBase(es),
0048 BPHDecayToTkpTknSymChargeBuilder(es,
0049 "Kaon",
0050 BPHParticleMasses::kaonMass,
0051 BPHParticleMasses::kaonMSigma,
0052 "Pion",
0053 BPHParticleMasses::pionMass,
0054 BPHParticleMasses::pionMSigma,
0055 posCollection,
0056 negCollection,
0057 BPHParticleMasses::kx0Mass) {
0058 setTrk1PtMin(0.7);
0059 setTrk2PtMin(0.7);
0060 setTrk1EtaMax(10.0);
0061 setTrk2EtaMax(10.0);
0062 setMassRange(0.75, 1.05);
0063 setProbMin(0.0);
0064 }
0065
0066
0067 BPHKx0ToKPiBuilder(const BPHKx0ToKPiBuilder& x) = delete;
0068 BPHKx0ToKPiBuilder& operator=(const BPHKx0ToKPiBuilder& x) = delete;
0069
0070
0071
0072 ~BPHKx0ToKPiBuilder() override = default;
0073
0074
0075
0076
0077 void setPiPtMin(double pt) { setTrk1PtMin(pt); }
0078 void setPiEtaMax(double eta) { setTrk1EtaMax(eta); }
0079 void setKPtMin(double pt) { setTrk2PtMin(pt); }
0080 void setKEtaMax(double eta) { setTrk2EtaMax(eta); }
0081 void setPtMin(double pt) {
0082 setTrk1PtMin(pt);
0083 setTrk2PtMin(pt);
0084 }
0085 void setEtaMax(double eta) {
0086 setTrk1EtaMax(eta);
0087 setTrk2EtaMax(eta);
0088 }
0089
0090
0091 double getPiPtMin() const { return getTrk1PtMin(); }
0092 double getPiEtaMax() const { return getTrk1EtaMax(); }
0093 double getKPtMin() const { return getTrk2PtMin(); }
0094 double getKEtaMax() const { return getTrk2EtaMax(); }
0095 };
0096
0097 #endif