Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHBcToJPsiPiBuilder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHBcToJPsiPiBuilder_h
0003 /** \class BPHBcToJPsiPiBuilder
0004  *
0005  *  Description: 
0006  *     Class to build Bc to JPsi pi+- 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 class BPHParticleNeutralVeto;
0028 class BPHParticlePtSelect;
0029 class BPHParticleEtaSelect;
0030 class BPHMassSelect;
0031 class BPHChi2Select;
0032 class BPHMassFitSelect;
0033 
0034 //---------------
0035 // C++ Headers --
0036 //---------------
0037 #include <string>
0038 #include <vector>
0039 
0040 //              ---------------------
0041 //              -- Class Interface --
0042 //              ---------------------
0043 
0044 class BPHBcToJPsiPiBuilder : public BPHDecayToResTrkBuilder {
0045 public:
0046   /** Constructor
0047    */
0048   BPHBcToJPsiPiBuilder(const edm::EventSetup& es,
0049                        const std::vector<BPHPlusMinusConstCandPtr>& jpsiCollection,
0050                        const BPHRecoBuilder::BPHGenericCollection* pionCollection)
0051       : BPHDecayToResTrkBuilder(es,
0052                                 "JPsi",
0053                                 BPHParticleMasses::jPsiMass,
0054                                 BPHParticleMasses::jPsiMWidth,
0055                                 jpsiCollection,
0056                                 "Pion",
0057                                 BPHParticleMasses::pionMass,
0058                                 BPHParticleMasses::pionMSigma,
0059                                 pionCollection) {
0060     setResMassRange(2.80, 3.40);
0061     setTrkPtMin(0.7);
0062     setTrkEtaMax(10.0);
0063     setMassRange(4.00, 9.00);
0064     setProbMin(0.02);
0065     setMassFitRange(6.00, 7.00);
0066     setConstr(true);
0067   }
0068 
0069   // deleted copy constructor and assignment operator
0070   BPHBcToJPsiPiBuilder(const BPHBcToJPsiPiBuilder& x) = delete;
0071   BPHBcToJPsiPiBuilder& operator=(const BPHBcToJPsiPiBuilder& x) = delete;
0072 
0073   /** Destructor
0074    */
0075   ~BPHBcToJPsiPiBuilder() override {}
0076 
0077   /** Operations
0078    */
0079   /// set cuts
0080   void setPiPtMin(double pt) { setTrkPtMin(pt); }
0081   void setPiEtaMax(double eta) { setTrkEtaMax(eta); }
0082   void setJPsiMassMin(double m) { setResMassMin(m); }
0083   void setJPsiMassMax(double m) { setResMassMax(m); }
0084 
0085   /// get current cuts
0086   double getPiPtMin() const { return getTrkPtMin(); }
0087   double getPiEtaMax() const { return getTrkEtaMax(); }
0088   double getJPsiMassMin() const { return getResMassMin(); }
0089   double getJPsiMassMax() const { return getResMassMax(); }
0090 };
0091 
0092 #endif