Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHBdToJPsiKxBuilder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHBdToJPsiKxBuilder_h
0003 /** \class BPHBdToJPsiKxBuilder
0004  *
0005  *  Description: 
0006  *     Class to build B0 to JPsi K*0 candidates
0007  *
0008  *  \author Paolo Ronchese INFN Padova
0009  *
0010  */
0011 
0012 //----------------------
0013 // Base Class Headers --
0014 //----------------------
0015 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayToResResBuilder.h"
0016 
0017 //------------------------------------
0018 // Collaborating Class Declarations --
0019 //------------------------------------
0020 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoBuilder.h"
0021 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoCandidate.h"
0022 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHPlusMinusCandidate.h"
0023 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHParticleMasses.h"
0024 
0025 #include "FWCore/Framework/interface/Event.h"
0026 
0027 //---------------
0028 // C++ Headers --
0029 //---------------
0030 #include <string>
0031 #include <vector>
0032 
0033 //              ---------------------
0034 //              -- Class Interface --
0035 //              ---------------------
0036 
0037 class BPHBdToJPsiKxBuilder : public BPHDecayToResResBuilder {
0038 public:
0039   /** Constructor
0040    */
0041   BPHBdToJPsiKxBuilder(const edm::EventSetup& es,
0042                        const std::vector<BPHPlusMinusConstCandPtr>& jpsiCollection,
0043                        const std::vector<BPHPlusMinusConstCandPtr>& kx0Collection)
0044       : BPHDecayToResResBuilder(es,
0045                                 "JPsi",
0046                                 BPHParticleMasses::jPsiMass,
0047                                 BPHParticleMasses::jPsiMWidth,
0048                                 jpsiCollection,
0049                                 "Kx0",
0050                                 kx0Collection) {
0051     setRes1MassRange(2.80, 3.40);
0052     setRes2MassRange(0.80, 1.00);
0053     setMassRange(3.50, 8.00);
0054     setProbMin(0.02);
0055     setMassFitRange(5.00, 6.00);
0056     setConstr(true);
0057   }
0058 
0059   // deleted copy constructor and assignment operator
0060   BPHBdToJPsiKxBuilder(const BPHBdToJPsiKxBuilder& x) = delete;
0061   BPHBdToJPsiKxBuilder& operator=(const BPHBdToJPsiKxBuilder& x) = delete;
0062 
0063   /** Destructor
0064    */
0065   ~BPHBdToJPsiKxBuilder() override {}
0066 
0067   /** Operations
0068    */
0069   /// set cuts
0070   void setJPsiMassMin(double m) { setRes1MassMin(m); }
0071   void setJPsiMassMax(double m) { setRes1MassMax(m); }
0072   void setKxMassMin(double m) { setRes2MassMin(m); }
0073   void setKxMassMax(double m) { setRes2MassMax(m); }
0074 
0075   /// get current cuts
0076   double getJPsiMassMin() const { return getRes1MassMin(); }
0077   double getJPsiMassMax() const { return getRes1MassMax(); }
0078   double getKxMassMin() const { return getRes2MassMin(); }
0079   double getKxMassMax() const { return getRes2MassMax(); }
0080 };
0081 
0082 #endif