CMS 3D CMS Logo

BPHPlusMinusCandidate.h
Go to the documentation of this file.
1 #ifndef HeavyFlavorAnalysis_RecoDecay_BPHPlusMinusCandidate_h
2 #define HeavyFlavorAnalysis_RecoDecay_BPHPlusMinusCandidate_h
3 
13 //----------------------
14 // Base Class Headers --
15 //----------------------
19 
20 //------------------------------------
21 // Collaborating Class Declarations --
22 //------------------------------------
24 
25 //---------------
26 // C++ Headers --
27 //---------------
28 #include <string>
29 
30 // ---------------------
31 // -- Class Interface --
32 // ---------------------
33 
35  friend class BPHRecoCandidate;
36 
37 public:
40 
44 
45  // deleted copy constructor and assignment operator
48 
51  ~BPHPlusMinusCandidate() override = default;
52 
55  void add(const std::string& name, const reco::Candidate* daug, double mass = -1.0, double sigma = -1.0) override;
59  void add(const std::string& name,
60  const reco::Candidate* daug,
61  const std::string& searchList,
62  double mass = -1.0,
63  double sigma = -1.0) override;
64 
72  double constrMass;
73  double constrSigma;
74  };
75  static std::vector<BPHPlusMinusConstCandPtr> build(const BPHRecoBuilder& builder, const BuilderParameters& par) {
76  return build(builder, *par.posName, *par.negName, par.constrMass, par.constrSigma);
77  }
78  static std::vector<BPHPlusMinusConstCandPtr> build(const BPHRecoBuilder& builder,
79  const std::string& nPos,
80  const std::string& nNeg,
81  double mass = -1,
82  double msig = -1);
83 
86  BPHRecoCandidate* clone(int level = -1) const override;
87 
89  const pat::CompositeCandidate& composite() const override;
90 
92  bool isCowboy() const;
93  bool isSailor() const;
94 
95 protected:
96  // utility function used to cash reconstruction results
97  void setNotUpdated() const override {
100  }
101 
102 private:
103  // constructor
105 
106  // return true or false for positive or negative phi_pos-phi_neg difference
107  bool phiDiff() const;
108 };
109 
110 #endif
Analysis-level particle class.
~BPHPlusMinusCandidate() override=default
void setNotUpdated() const override
void setNotUpdated() const override
static std::vector< BPHPlusMinusConstCandPtr > build(const BPHRecoBuilder &builder, const BuilderParameters &par)
const pat::CompositeCandidate & composite() const override
get a composite by the simple sum of simple particles
bool isCowboy() const
get cowboy/sailor classification
void setNotUpdated() const override
BPHPlusMinusCandidate & operator=(const BPHPlusMinusCandidate &x)=delete
void add(const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0) override
BPHGenericPtr< const BPHPlusMinusCandidate >::type BPHPlusMinusConstCandPtr
BPHPlusMinusConstCandPtr const_pointer
BPHGenericPtr< BPHPlusMinusCandidate >::type BPHPlusMinusCandidatePtr
std::vector< Component > compList
BPHRecoCandidate * clone(int level=-1) const override
BPHPlusMinusCandidatePtr pointer
BPHPlusMinusCandidate(const BPHEventSetupWrapper *es)
virtual ParticleMass mass() const