Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHLbToJPsiL0Builder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHLbToJPsiL0Builder_h
0003 /** \class BPHLbToJPsiL0Builder
0004  *
0005  *  Description: 
0006  *     Class to build Lambda_b to JPsi Lambda_0 candidates
0007  *
0008  *  \author Paolo Ronchese INFN Padova
0009  *
0010  */
0011 
0012 //----------------------
0013 // Base Class Headers --
0014 //----------------------
0015 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayToResFlyingBuilder.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 BPHLbToJPsiL0Builder : public BPHDecayToResFlyingBuilder {
0038 public:
0039   /** Constructor
0040    */
0041   BPHLbToJPsiL0Builder(const edm::EventSetup& es,
0042                        const std::vector<BPHPlusMinusConstCandPtr>& jpsiCollection,
0043                        const std::vector<BPHPlusMinusConstCandPtr>& l0Collection)
0044       : BPHDecayToResFlyingBuilder(es,
0045                                    "JPsi",
0046                                    BPHParticleMasses::jPsiMass,
0047                                    BPHParticleMasses::jPsiMWidth,
0048                                    jpsiCollection,
0049                                    "Lambda0",
0050                                    BPHParticleMasses::lambda0Mass,
0051                                    BPHParticleMasses::lambda0MSigma,
0052                                    l0Collection) {
0053     setResMassRange(2.80, 3.40);
0054     setFlyingMassRange(0.00, 3.00);
0055     setMassRange(3.50, 8.00);
0056     setKinFitProbMin(0.02);
0057     setMassFitRange(5.00, 6.00);
0058     setConstr(true);
0059   }
0060 
0061   // deleted copy constructor and assignment operator
0062   BPHLbToJPsiL0Builder(const BPHLbToJPsiL0Builder& x) = delete;
0063   BPHLbToJPsiL0Builder& operator=(const BPHLbToJPsiL0Builder& x) = delete;
0064 
0065   /** Destructor
0066    */
0067   ~BPHLbToJPsiL0Builder() override {}
0068 
0069   /** Operations
0070    */
0071   /// set cuts
0072   void setJPsiMassMin(double m) { setResMassMin(m); }
0073   void setJPsiMassMax(double m) { setResMassMax(m); }
0074   void setLambda0MassMin(double m) { setFlyingMassMin(m); }
0075   void setLambda0MassMax(double m) { setFlyingMassMax(m); }
0076 
0077   /// get current cuts
0078   double getJPsiMassMin() const { return getResMassMin(); }
0079   double getJPsiMassMax() const { return getResMassMax(); }
0080   double getLambda0MassMin() const { return getFlyingMassMin(); }
0081   double getLambda0MassMax() const { return getFlyingMassMax(); }
0082 };
0083 
0084 #endif