CMS 3D CMS Logo

BPHDecayToChargedXXbarBuilder.h
Go to the documentation of this file.
1 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecayToChargedXXbarBuilder_h
2 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecayToChargedXXbarBuilder_h
3 
13 //----------------------
14 // Base Class Headers --
15 //----------------------
18 
19 //------------------------------------
20 // Collaborating Class Declarations --
21 //------------------------------------
25 
29 class BPHChi2Select;
30 class BPHMassSelect;
31 
32 //---------------
33 // C++ Headers --
34 //---------------
35 #include <string>
36 #include <vector>
37 
38 // ---------------------
39 // -- Class Interface --
40 // ---------------------
41 
43  public virtual BPHDecayGenericBuilder<BPHPlusMinusCandidate> {
44 public:
48  const std::string& dPosName,
49  const std::string& dNegName,
50  double daugMass,
51  double daugSigma,
52  const BPHRecoBuilder::BPHGenericCollection* posCollection,
53  const BPHRecoBuilder::BPHGenericCollection* negCollection);
54 
55  // deleted copy constructor and assignment operator
58 
61  ~BPHDecayToChargedXXbarBuilder() override = default;
62 
66  void setPtMin(double pt);
68  void setEtaMax(double eta);
69  void setDzMax(double dz);
70 
72  double getPtMin() const { return ptMin; }
73  double getEtaMax() const { return etaMax; }
74  double getDzMax() const { return dzMax; }
75 
76 protected:
77  double ptMin;
78  double etaMax;
79  double dzMax;
80 
82  void fillRecList() override;
83 
84 protected:
87  double dMass;
88  double dSigma;
89 
92 
93 private:
94  class Particle {
95  public:
96  Particle(const reco::Candidate* c, const reco::Track* tk, double x, double y, double z, double e)
97  : cand(c), track(tk), px(x), py(y), pz(z), en(e) {}
100  double px;
101  double py;
102  double pz;
103  double en;
104  };
105  void addParticle(const BPHRecoBuilder::BPHGenericCollection* collection, int charge, std::vector<Particle*>& list);
106 };
107 
108 #endif
void fillRecList() override
build candidates
BPHDecayToChargedXXbarBuilder & operator=(const BPHDecayToChargedXXbarBuilder &x)=delete
double getPtMin() const
get current cuts
~BPHDecayToChargedXXbarBuilder() override=default
const BPHRecoBuilder::BPHGenericCollection * pCollection
BPHDecayToChargedXXbarBuilder(const BPHEventSetupWrapper &es, const std::string &dPosName, const std::string &dNegName, double daugMass, double daugSigma, const BPHRecoBuilder::BPHGenericCollection *posCollection, const BPHRecoBuilder::BPHGenericCollection *negCollection)
common object to interface with edm collections
void addParticle(const BPHRecoBuilder::BPHGenericCollection *collection, int charge, std::vector< Particle *> &list)
const BPHRecoBuilder::BPHGenericCollection * nCollection
Particle(const reco::Candidate *c, const reco::Track *tk, double x, double y, double z, double e)