Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-07-08 01:45:54

0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecaySpecificBuilder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecaySpecificBuilder_h
0003 /** \class BPHDecaySpecificBuilder
0004  *
0005  *  Description: 
0006  *     Class to plug the usage of BPHRecoBuilder inside BPHGenericBuilder
0007  *
0008  *  \author Paolo Ronchese INFN Padova
0009  *
0010  */
0011 
0012 //----------------------
0013 // Base Class Headers --
0014 //----------------------
0015 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayGenericBuilder.h"
0016 
0017 //------------------------------------
0018 // Collaborating Class Declarations --
0019 //------------------------------------
0020 #include "FWCore/Framework/interface/EventSetup.h"
0021 
0022 class BPHRecoBuilder;
0023 
0024 //---------------
0025 // C++ Headers --
0026 //---------------
0027 #include <vector>
0028 #include <iostream>
0029 
0030 //              ---------------------
0031 //              -- Class Interface --
0032 //              ---------------------
0033 
0034 class BPHDecaySpecificBuilderBase {
0035 public:
0036   virtual ~BPHDecaySpecificBuilderBase() = default;
0037 
0038 protected:
0039   virtual void fill(BPHRecoBuilder& brb, void* parameters) = 0;
0040   virtual void setup(void* parameters) = 0;
0041 };
0042 
0043 template <class ProdType>
0044 class BPHDecaySpecificBuilder : public virtual BPHDecaySpecificBuilderBase,
0045                                 public virtual BPHDecayGenericBuilder<ProdType> {
0046 public:
0047   /** Constructor
0048    */
0049   BPHDecaySpecificBuilder() {}
0050 
0051   // deleted copy constructor and assignment operator
0052   BPHDecaySpecificBuilder(const BPHDecaySpecificBuilder& x) = delete;
0053   BPHDecaySpecificBuilder& operator=(const BPHDecaySpecificBuilder& x) = delete;
0054 
0055   /** Destructor
0056    */
0057   ~BPHDecaySpecificBuilder() override = default;
0058 
0059 protected:
0060   /** Operations
0061    */
0062   /// build candidates
0063 
0064   void fillRecList() override;
0065 };
0066 
0067 #endif