File indexing completed on 2024-04-06 12:15:35
0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecayToFlyingCascadeBuilderBase_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecayToFlyingCascadeBuilderBase_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecaySpecificBuilder.h"
0017 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayGenericBuilderBase.h"
0018
0019
0020
0021
0022 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHKinFitChi2Select.h"
0023
0024 class BPHEventSetupWrapper;
0025 class BPHRecoBuilder;
0026
0027
0028
0029
0030 #include <string>
0031 #include <vector>
0032
0033
0034
0035
0036
0037 class BPHDecayToFlyingCascadeBuilderBase : public virtual BPHDecaySpecificBuilderBase,
0038 public virtual BPHDecayGenericBuilderBase {
0039 public:
0040
0041
0042 BPHDecayToFlyingCascadeBuilderBase(const BPHEventSetupWrapper& es,
0043 const std::string& flyName,
0044 double flyMass,
0045 double flyMSigma);
0046
0047
0048 BPHDecayToFlyingCascadeBuilderBase(const BPHDecayToFlyingCascadeBuilderBase& x) = delete;
0049 BPHDecayToFlyingCascadeBuilderBase& operator=(const BPHDecayToFlyingCascadeBuilderBase& x) = delete;
0050
0051
0052
0053 ~BPHDecayToFlyingCascadeBuilderBase() override;
0054
0055
0056
0057
0058 const std::map<const BPHRecoCandidate*, const BPHRecoCandidate*>& daughMap() const { return dMap; }
0059
0060
0061 void setFlyingMassMin(double m);
0062 void setFlyingMassMax(double m);
0063 void setFlyingMassRange(double mMin, double mMax);
0064 void setKinFitProbMin(double p);
0065
0066
0067 double getFlyingMassMin() const { return flySel->getMassMin(); }
0068 double getFlyingMassMax() const { return flySel->getMassMax(); }
0069 double getKinFitProbMin() const { return kfChi2Sel->getProbMin(); }
0070
0071 protected:
0072 BPHDecayToFlyingCascadeBuilderBase(const std::string& flyName, double flyMass, double flyMSigma);
0073 BPHDecayToFlyingCascadeBuilderBase();
0074
0075 std::string fName;
0076 double fMass;
0077 double fMSigma;
0078
0079 BPHMassFitSelect* flySel;
0080 BPHKinFitChi2Select* kfChi2Sel;
0081
0082 std::map<const BPHRecoCandidate*, const BPHRecoCandidate*> dMap;
0083
0084 virtual void addFlyCollection(BPHRecoBuilder& brb) = 0;
0085 };
0086
0087 #endif