Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHKx0ToKPiBuilder_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHKx0ToKPiBuilder_h
0003 /** \class BPHKx0ToKPiBuilder
0004  *
0005  *  Description: 
0006  *     Class to build K*0 to K+ pi- candidates
0007  *
0008  *  \author Paolo Ronchese INFN Padova
0009  *
0010  */
0011 
0012 //----------------------
0013 // Base Class Headers --
0014 //----------------------
0015 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayToTkpTknSymChargeBuilder.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 BPHKx0ToKPiBuilder : public BPHDecayToTkpTknSymChargeBuilder {
0038 public:
0039   /** Constructor
0040    */
0041   BPHKx0ToKPiBuilder(const edm::EventSetup& es,
0042                      const BPHRecoBuilder::BPHGenericCollection* posCollection,
0043                      const BPHRecoBuilder::BPHGenericCollection* negCollection)
0044       : BPHDecayToTkpTknSymChargeBuilder(es,
0045                                          "Kaon",
0046                                          BPHParticleMasses::pionMass,
0047                                          BPHParticleMasses::pionMass,
0048                                          "Pion",
0049                                          BPHParticleMasses::kaonMass,
0050                                          BPHParticleMasses::kaonMSigma,
0051                                          posCollection,
0052                                          negCollection,
0053                                          BPHParticleMasses::kx0Mass) {
0054     setTrk1PtMin(0.7);
0055     setTrk2PtMin(0.7);
0056     setTrk1EtaMax(10.0);
0057     setTrk2EtaMax(10.0);
0058     setMassRange(0.75, 1.05);
0059     setProbMin(0.0);
0060   }
0061 
0062   // deleted copy constructor and assignment operator
0063   BPHKx0ToKPiBuilder(const BPHKx0ToKPiBuilder& x) = delete;
0064   BPHKx0ToKPiBuilder& operator=(const BPHKx0ToKPiBuilder& x) = delete;
0065 
0066   /** Destructor
0067    */
0068   ~BPHKx0ToKPiBuilder() override {}
0069 
0070   /** Operations
0071    */
0072   /// set cuts
0073   void setPiPtMin(double pt) { setTrk1PtMin(pt); }
0074   void setPiEtaMax(double eta) { setTrk1EtaMax(eta); }
0075   void setKPtMin(double pt) { setTrk2PtMin(pt); }
0076   void setKEtaMax(double eta) { setTrk2EtaMax(eta); }
0077   void setPtMin(double pt) {
0078     setTrk1PtMin(pt);
0079     setTrk2PtMin(pt);
0080   }
0081   void setEtaMax(double eta) {
0082     setTrk1EtaMax(eta);
0083     setTrk2EtaMax(eta);
0084   }
0085 
0086   /// get current cuts
0087   double getPiPtMin() const { return getTrk1PtMin(); }
0088   double getPiEtaMax() const { return getTrk1EtaMax(); }
0089   double getKPtMin() const { return getTrk2PtMin(); }
0090   double getKEtaMax() const { return getTrk2EtaMax(); }
0091 };
0092 
0093 #endif