File indexing completed on 2024-04-06 12:15:34
0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHBcToJPsiPiBuilder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHBcToJPsiPiBuilder_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 class BPHParticleNeutralVeto;
0031 class BPHParticlePtSelect;
0032 class BPHParticleEtaSelect;
0033 class BPHMassSelect;
0034 class BPHChi2Select;
0035 class BPHMassFitSelect;
0036
0037
0038
0039
0040 #include <string>
0041 #include <vector>
0042
0043
0044
0045
0046
0047 class BPHBcToJPsiPiBuilder : public BPHDecayToResTrkBuilder<BPHRecoCandidate, BPHPlusMinusCandidate> {
0048 public:
0049
0050
0051 BPHBcToJPsiPiBuilder(const BPHEventSetupWrapper& es,
0052 const std::vector<BPHPlusMinusConstCandPtr>& jpsiCollection,
0053 const BPHRecoBuilder::BPHGenericCollection* pionCollection)
0054 : BPHDecayGenericBuilderBase(es, nullptr),
0055 BPHDecayConstrainedBuilderBase("JPsi", BPHParticleMasses::jPsiMass, BPHParticleMasses::jPsiMWidth),
0056 BPHDecayToResTrkBuilder(
0057 jpsiCollection, "Pion", BPHParticleMasses::pionMass, BPHParticleMasses::pionMSigma, pionCollection) {
0058 setResMassRange(2.80, 3.40);
0059 setTrkPtMin(0.7);
0060 setTrkEtaMax(10.0);
0061 setMassRange(4.00, 9.00);
0062 setProbMin(0.02);
0063 setMassFitRange(6.00, 7.00);
0064 setConstr(true);
0065 }
0066
0067
0068 BPHBcToJPsiPiBuilder(const BPHBcToJPsiPiBuilder& x) = delete;
0069 BPHBcToJPsiPiBuilder& operator=(const BPHBcToJPsiPiBuilder& x) = delete;
0070
0071
0072
0073 ~BPHBcToJPsiPiBuilder() override = default;
0074
0075
0076
0077
0078 void setPiPtMin(double pt) { setTrkPtMin(pt); }
0079 void setPiEtaMax(double eta) { setTrkEtaMax(eta); }
0080 void setJPsiMassMin(double m) { setResMassMin(m); }
0081 void setJPsiMassMax(double m) { setResMassMax(m); }
0082
0083
0084 double getPiPtMin() const { return getTrkPtMin(); }
0085 double getPiEtaMax() const { return getTrkEtaMax(); }
0086 double getJPsiMassMin() const { return getResMassMin(); }
0087 double getJPsiMassMax() const { return getResMassMax(); }
0088
0089
0090 void setup(void* parameters) override {}
0091 };
0092
0093 #endif