CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 //----------------------
17 
18 //------------------------------------
19 // Collaborating Class Declarations --
20 //------------------------------------
24 
26 
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:
47  const std::string& dPosName,
48  const std::string& dNegName,
49  double daugMass,
50  double daugSigma,
51  const BPHRecoBuilder::BPHGenericCollection* posCollection,
52  const BPHRecoBuilder::BPHGenericCollection* negCollection);
53 
54  // deleted copy constructor and assignment operator
57 
61 
64  std::vector<BPHPlusMinusConstCandPtr> build();
66 
68  void setPtMin(double pt);
69  void setEtaMax(double eta);
70  void setDzMax(double dz);
71 
73  double getPtMin() const;
74  double getEtaMax() const;
75  double getDzMax() const { return dzMax; }
76 
77 private:
80  double dMass;
81  double dSigma;
82 
85 
86  double ptMin;
87  double etaMax;
88  double dzMax;
89 
90  std::vector<BPHPlusMinusConstCandPtr> recList;
91 
92  class Particle {
93  public:
94  Particle(const reco::Candidate* c, const reco::Track* tk, double x, double y, double z, double e)
95  : cand(c), track(tk), px(x), py(y), pz(z), en(e) {}
98  double px;
99  double py;
100  double pz;
101  double en;
102  };
103  void addParticle(const BPHRecoBuilder::BPHGenericCollection* collection, int charge, std::vector<Particle*>& list);
104 };
105 
106 #endif
std::vector< BPHPlusMinusConstCandPtr > recList
const edm::EventSetup & c
BPHDecayToChargedXXbarBuilder & operator=(const BPHDecayToChargedXXbarBuilder &x)=delete
double getPtMin() const
get current cuts
void addParticle(const BPHRecoBuilder::BPHGenericCollection *collection, int charge, std::vector< Particle * > &list)
BPHDecayToChargedXXbarBuilder(const edm::EventSetup &es, const std::string &dPosName, const std::string &dNegName, double daugMass, double daugSigma, const BPHRecoBuilder::BPHGenericCollection *posCollection, const BPHRecoBuilder::BPHGenericCollection *negCollection)
std::vector< BPHPlusMinusConstCandPtr > build()
build Phi candidates
const BPHRecoBuilder::BPHGenericCollection * pCollection
const BPHRecoBuilder::BPHGenericCollection * nCollection
Particle(const reco::Candidate *c, const reco::Track *tk, double x, double y, double z, double e)