File indexing completed on 2024-04-06 12:15:35
0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecayGenericBuilder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecayGenericBuilder_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayGenericBuilderBase.h"
0017
0018
0019
0020
0021 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHMassSelect.h"
0022 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHChi2Select.h"
0023 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHMassFitSelect.h"
0024
0025 #include "FWCore/Framework/interface/EventSetup.h"
0026
0027 class BPHEventSetupWrapper;
0028
0029
0030
0031
0032 #include <vector>
0033 #include <iostream>
0034
0035
0036
0037
0038
0039 template <class ProdType>
0040 class BPHDecayGenericBuilder : public virtual BPHDecayGenericBuilderBase {
0041 public:
0042 typedef typename ProdType::const_pointer prod_ptr;
0043
0044
0045
0046 BPHDecayGenericBuilder(const BPHEventSetupWrapper& es, BPHMassFitSelect* mfs) : BPHDecayGenericBuilderBase(es, mfs) {}
0047
0048
0049 BPHDecayGenericBuilder(const BPHDecayGenericBuilder& x) = delete;
0050 BPHDecayGenericBuilder& operator=(const BPHDecayGenericBuilder& x) = delete;
0051
0052
0053
0054 ~BPHDecayGenericBuilder() override = default;
0055
0056
0057
0058
0059 virtual std::vector<prod_ptr> build() {
0060 if (outdated) {
0061 recList.clear();
0062 fillRecList();
0063 outdated = false;
0064 }
0065 return recList;
0066 }
0067
0068 protected:
0069 BPHDecayGenericBuilder() {}
0070
0071 std::vector<prod_ptr> recList;
0072 };
0073
0074 #endif