CMS 3D CMS Logo

BPHDecayToResFlyingBuilder.h
Go to the documentation of this file.
1 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecayToResFlyingBuilder_h
2 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecayToResFlyingBuilder_h
3 
13 //----------------------
14 // Base Class Headers --
15 //----------------------
20 
21 //------------------------------------
22 // Collaborating Class Declarations --
23 //------------------------------------
25 
27 
28 //---------------
29 // C++ Headers --
30 //---------------
31 #include <string>
32 #include <vector>
33 #include <iostream>
34 // ---------------------
35 // -- Class Interface --
36 // ---------------------
37 
38 template <class ProdType, class ResType, class FlyingType>
40  public BPHDecayConstrainedBuilder<ProdType, ResType>,
41  public BPHDecayToFlyingCascadeBuilder<ProdType, FlyingType>,
42  public BPHDecaySpecificBuilder<ProdType> {
43 public:
47 
51  const std::string& resName,
52  double resMass,
53  double resWidth,
54  const std::vector<res_ptr>& resCollection,
55  const std::string& flyName,
56  double flyMass,
57  double flyMSigma,
58  const std::vector<flying_ptr>& flyCollection)
59  : BPHDecayGenericBuilderBase(es, nullptr),
60  BPHDecayConstrainedBuilderBase(resName, resMass, resWidth),
61  BPHDecayToFlyingCascadeBuilderBase(flyName, flyMass, flyMSigma),
62  BPHDecayConstrainedBuilder<ProdType, ResType>(resCollection),
63  BPHDecayToFlyingCascadeBuilder<ProdType, FlyingType>(flyCollection) {}
64 
65  // deleted copy constructor and assignment operator
68 
71  ~BPHDecayToResFlyingBuilder() override = default;
72 
73 protected:
74  BPHDecayToResFlyingBuilder(const std::vector<res_ptr>& resCollection, const std::vector<flying_ptr>& flyCollection)
75  : BPHDecayConstrainedBuilder<ProdType, ResType>(resCollection),
76  BPHDecayToFlyingCascadeBuilder<ProdType, FlyingType>(flyCollection) {}
77 
78  void fillRecList() override {
80  this->fitAndFilter(this->recList);
81  return;
82  }
83 };
84 
85 #endif
ProdType::const_pointer prod_ptr
void fitAndFilter(std::vector< prod_ptr > &prodList)
fit and select candidates
~BPHDecayToResFlyingBuilder() override=default
void fillRecList() override
build candidates
BPHDecayToResFlyingBuilder(const std::vector< res_ptr > &resCollection, const std::vector< flying_ptr > &flyCollection)
BPHDecayToResFlyingBuilder & operator=(const BPHDecayToResFlyingBuilder &x)=delete
BPHDecayToResFlyingBuilder(const BPHEventSetupWrapper &es, const std::string &resName, double resMass, double resWidth, const std::vector< res_ptr > &resCollection, const std::string &flyName, double flyMass, double flyMSigma, const std::vector< flying_ptr > &flyCollection)
std::vector< prod_ptr > recList
void fillRecList() override
build candidates