CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
BPHDecayToTkpTknSymChargeBuilder.h
Go to the documentation of this file.
1 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecayToTkpTknSymChargeBuilder_h
2 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecayToTkpTknSymChargeBuilder_h
3 
14 //----------------------
15 // Base Class Headers --
16 //----------------------
18 
19 //------------------------------------
20 // Collaborating Class Declarations --
21 //------------------------------------
25 
27 
30 class BPHChi2Select;
31 class BPHMassSelect;
32 
33 //---------------
34 // C++ Headers --
35 //---------------
36 #include <string>
37 #include <vector>
38 
39 // ---------------------
40 // -- Class Interface --
41 // ---------------------
42 
44 public:
48  const std::string& daug1Name,
49  double daug1Mass,
50  double daug1Sigma,
51  const std::string& daug2Name,
52  double daug2Mass,
53  double daug2Sigma,
54  const BPHRecoBuilder::BPHGenericCollection* posCollection,
55  const BPHRecoBuilder::BPHGenericCollection* negCollection,
56  double expectedMass);
57 
58  // deleted copy constructor and assignment operator
61 
65 
68  std::vector<BPHPlusMinusConstCandPtr> build();
70 
72  void setTrk1PtMin(double pt);
73  void setTrk2PtMin(double pt);
74  void setTrk1EtaMax(double eta);
75  void setTrk2EtaMax(double eta);
76  void setDzMax(double dz);
77 
79  double getTrk1PtMin() const { return pt1Min; }
80  double getTrk2PtMin() const { return pt2Min; }
81  double getTrk1EtaMax() const { return eta1Max; }
82  double getTrk2EtaMax() const { return eta2Max; }
83  double getDzMax() const { return dzMax; }
84 
85 private:
87  double d1Mass;
88  double d1Sigma;
90  double d2Mass;
91  double d2Sigma;
92  double eMass;
93 
96 
97  double pt1Min;
98  double pt2Min;
99  double eta1Max;
100  double eta2Max;
101  double dzMax;
102 
103  std::vector<BPHPlusMinusConstCandPtr> recList;
104 
105  class Particle {
106  public:
107  Particle(const reco::Candidate* c, const reco::Track* tk, double x, double y, double z, double f, double g)
108  : cand(c), track(tk), px(x), py(y), pz(z), e1(f), e2(g) {}
111  double px;
112  double py;
113  double pz;
114  double e1;
115  double e2;
116  };
117  void addParticle(const BPHRecoBuilder::BPHGenericCollection* collection, int charge, std::vector<Particle*>& list);
118 };
119 
120 #endif
void addParticle(const BPHRecoBuilder::BPHGenericCollection *collection, int charge, std::vector< Particle * > &list)
const edm::EventSetup & c
double getTrk1PtMin() const
get current cuts
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
const BPHRecoBuilder::BPHGenericCollection * nCollection
Particle(const reco::Candidate *c, const reco::Track *tk, double x, double y, double z, double f, double g)
std::vector< BPHPlusMinusConstCandPtr > recList
BPHDecayToTkpTknSymChargeBuilder(const edm::EventSetup &es, const std::string &daug1Name, double daug1Mass, double daug1Sigma, const std::string &daug2Name, double daug2Mass, double daug2Sigma, const BPHRecoBuilder::BPHGenericCollection *posCollection, const BPHRecoBuilder::BPHGenericCollection *negCollection, double expectedMass)
const BPHRecoBuilder::BPHGenericCollection * pCollection
BPHDecayToTkpTknSymChargeBuilder & operator=(const BPHDecayToTkpTknSymChargeBuilder &x)=delete
std::vector< BPHPlusMinusConstCandPtr > build()
build candidates