Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:15:35

0001 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecayToResTrkTrkSameMassBuilderBase_h
0002 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecayToResTrkTrkSameMassBuilderBase_h
0003 /** \class BPHDecayToResTrkTrkSameMassBuilderBase
0004  *
0005  *  Description: 
0006  *     Base class to build a particle decaying to a particle, decaying itself
0007  *     in cascade, and two additional opposite charged particles pair
0008  *     having the same mass
0009  *
0010  *  \author Paolo Ronchese INFN Padova
0011  *
0012  */
0013 
0014 //----------------------
0015 // Base Class Headers --
0016 //----------------------
0017 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayConstrainedBuilderBase.h"
0018 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHDecayGenericBuilder.h"
0019 
0020 //------------------------------------
0021 // Collaborating Class Declarations --
0022 //------------------------------------
0023 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHParticlePtSelect.h"
0024 #include "HeavyFlavorAnalysis/SpecificDecay/interface/BPHParticleEtaSelect.h"
0025 #include "HeavyFlavorAnalysis/RecoDecay/interface/BPHRecoBuilder.h"
0026 
0027 class BPHEventSetupWrapper;
0028 class BPHParticleNeutralVeto;
0029 
0030 //---------------
0031 // C++ Headers --
0032 //---------------
0033 #include <string>
0034 #include <vector>
0035 
0036 //              ---------------------
0037 //              -- Class Interface --
0038 //              ---------------------
0039 
0040 class BPHDecayToResTrkTrkSameMassBuilderBase : public virtual BPHDecayConstrainedBuilderBase {
0041 public:
0042   /** Constructor
0043    */
0044   BPHDecayToResTrkTrkSameMassBuilderBase(const BPHEventSetupWrapper& es,
0045                                          const std::string& resName,
0046                                          double resMass,
0047                                          double resWidth,
0048                                          const std::string& posName,
0049                                          const std::string& negName,
0050                                          double trkMass,
0051                                          double trkSigma,
0052                                          const BPHRecoBuilder::BPHGenericCollection* posCollection,
0053                                          const BPHRecoBuilder::BPHGenericCollection* negCollection);
0054 
0055   // deleted copy constructor and assignment operator
0056   BPHDecayToResTrkTrkSameMassBuilderBase(const BPHDecayToResTrkTrkSameMassBuilderBase& x) = delete;
0057   BPHDecayToResTrkTrkSameMassBuilderBase& operator=(const BPHDecayToResTrkTrkSameMassBuilderBase& x) = delete;
0058 
0059   /** Destructor
0060    */
0061   ~BPHDecayToResTrkTrkSameMassBuilderBase() override = default;
0062 
0063   /** Operations
0064    */
0065 
0066   /// set cuts
0067   void setTrkPtMin(double pt);
0068   void setTrkEtaMax(double eta);
0069 
0070   /// get current cuts
0071   double getTrkPtMin() const { return ptMin; }
0072   double getTrkEtaMax() const { return etaMax; }
0073 
0074 protected:
0075   BPHDecayToResTrkTrkSameMassBuilderBase(const std::string& posName,
0076                                          const std::string& negName,
0077                                          double trkMass,
0078                                          double trkSigma,
0079                                          const BPHRecoBuilder::BPHGenericCollection* posCollection,
0080                                          const BPHRecoBuilder::BPHGenericCollection* negCollection);
0081 
0082   std::string pName;
0083   std::string nName;
0084   double tMass;
0085   double tSigma;
0086 
0087   const BPHRecoBuilder::BPHGenericCollection* pCollection;
0088   const BPHRecoBuilder::BPHGenericCollection* nCollection;
0089 
0090   double ptMin;
0091   double etaMax;
0092 
0093   void fillTrkTrkList();
0094   std::vector<BPHPlusMinusConstCandPtr> ttPairs;
0095 };
0096 
0097 #endif