Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHBuToJPsiKBuilder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHBuToJPsiKBuilder_h
0003 /** \class BPHBuToJPsiKBuilder
0004  *
0005  *  Description: 
0006  *     Class to build B+- to JPsi K+- candidates
0007  *
0008  *  \author Paolo Ronchese INFN Padova
0009  *
0010  */
0011 
0012 //----------------------
0013 // Base Class Headers --
0014 //----------------------
0015 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayToResTrkBuilder.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 BPHBuToJPsiKBuilder : public BPHDecayToResTrkBuilder {
0038 public:
0039   /** Constructor
0040    */
0041   BPHBuToJPsiKBuilder(const edm::EventSetup& es,
0042                       const std::vector<BPHPlusMinusConstCandPtr>& jpsiCollection,
0043                       const BPHRecoBuilder::BPHGenericCollection* kaonCollection)
0044       : BPHDecayToResTrkBuilder(es,
0045                                 "JPsi",
0046                                 BPHParticleMasses::jPsiMass,
0047                                 BPHParticleMasses::jPsiMWidth,
0048                                 jpsiCollection,
0049                                 "Kaon",
0050                                 BPHParticleMasses::kaonMass,
0051                                 BPHParticleMasses::kaonMSigma,
0052                                 kaonCollection) {
0053     setResMassRange(2.80, 3.40);
0054     setTrkPtMin(0.7);
0055     setTrkEtaMax(10.0);
0056     setMassRange(3.50, 8.00);
0057     setProbMin(0.02);
0058     setMassFitRange(5.00, 6.00);
0059     setConstr(true);
0060   }
0061 
0062   // deleted copy constructor and assignment operator
0063   BPHBuToJPsiKBuilder(const BPHBuToJPsiKBuilder& x) = delete;
0064   BPHBuToJPsiKBuilder& operator=(const BPHBuToJPsiKBuilder& x) = delete;
0065 
0066   /** Destructor
0067    */
0068   ~BPHBuToJPsiKBuilder() override {}
0069 
0070   /** Operations
0071    */
0072   /// set cuts
0073   void setKPtMin(double pt) { setTrkPtMin(pt); }
0074   void setKEtaMax(double eta) { setTrkEtaMax(eta); }
0075   void setJPsiMassMin(double m) { setResMassMin(m); }
0076   void setJPsiMassMax(double m) { setResMassMax(m); }
0077 
0078   /// get current cuts
0079   double getKPtMin() const { return getTrkPtMin(); }
0080   double getKEtaMax() const { return getTrkEtaMax(); }
0081   double getJPsiMassMin() const { return getResMassMin(); }
0082   double getJPsiMassMax() const { return getResMassMax(); }
0083 };
0084 
0085 #endif