Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:49:23

0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecayToV0SameMassBuilder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecayToV0SameMassBuilder_h
0003 /** \class BPHDecayToV0SameMassBuilder
0004  *
0005  *  Description: 
0006  *     Class to build neutral particles decaying to a V0,
0007  *     with daughters having same mass,
0008  *     starting from reco::Candidates or already reconstructed V0s
0009  *
0010  *  \author Paolo Ronchese INFN Padova
0011  *
0012  */
0013 
0014 //----------------------
0015 // Base Class Headers --
0016 //----------------------
0017 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayToV0Builder.h"
0018 
0019 //------------------------------------
0020 // Collaborating Class Declarations --
0021 //------------------------------------
0022 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoBuilder.h"
0023 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoCandidate.h"
0024 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHPlusMinusCandidate.h"
0025 
0026 #include "FWCore/Framework/interface/Event.h"
0027 
0028 //---------------
0029 // C++ Headers --
0030 //---------------
0031 #include <string>
0032 #include <vector>
0033 #include <map>
0034 
0035 //              ---------------------
0036 //              -- Class Interface --
0037 //              ---------------------
0038 
0039 class BPHDecayToV0SameMassBuilder : public BPHDecayToV0Builder {
0040 public:
0041   /** Constructor
0042    */
0043   BPHDecayToV0SameMassBuilder(const edm::EventSetup& es,
0044                               const std::string& d1Name,
0045                               const std::string& d2Name,
0046                               double dMass,
0047                               double dSigma,
0048                               const BPHRecoBuilder::BPHGenericCollection* d1Collection,
0049                               const BPHRecoBuilder::BPHGenericCollection* d2Collection);
0050   BPHDecayToV0SameMassBuilder(const edm::EventSetup& es,
0051                               const std::string& d1Name,
0052                               const std::string& d2Name,
0053                               double dMass,
0054                               double dSigma,
0055                               const std::vector<reco::VertexCompositeCandidate>* v0Collection,
0056                               const std::string& searchList = "cfp");
0057   BPHDecayToV0SameMassBuilder(const edm::EventSetup& es,
0058                               const std::string& d1Name,
0059                               const std::string& d2Name,
0060                               double dMass,
0061                               double dSigma,
0062                               const std::vector<reco::VertexCompositePtrCandidate>* vpCollection,
0063                               const std::string& searchList = "cfp");
0064 
0065   // deleted copy constructor and assignment operator
0066   BPHDecayToV0SameMassBuilder(const BPHDecayToV0SameMassBuilder& x) = delete;
0067   BPHDecayToV0SameMassBuilder& operator=(const BPHDecayToV0SameMassBuilder& x) = delete;
0068 
0069   /** Destructor
0070    */
0071   ~BPHDecayToV0SameMassBuilder() override;
0072 
0073 protected:
0074   double pMass;
0075   double pSigma;
0076 
0077   /// build candidates and link to V0
0078   void buildFromBPHGenericCollection() override;
0079   BPHPlusMinusCandidatePtr buildCandidate(const reco::Candidate* c1,
0080                                           const reco::Candidate* c2,
0081                                           const void* v0,
0082                                           v0Type type) override;
0083 };
0084 
0085 #endif