CMS 3D CMS Logo

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 //----------------------
19 
20 //------------------------------------
21 // Collaborating Class Declarations --
22 //------------------------------------
26 
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 virtual BPHDecayGenericBuilder<BPHPlusMinusCandidate> {
45 public:
49  const std::string& daug1Name,
50  double daug1Mass,
51  double daug1Sigma,
52  const std::string& daug2Name,
53  double daug2Mass,
54  double daug2Sigma,
55  const BPHRecoBuilder::BPHGenericCollection* posCollection,
56  const BPHRecoBuilder::BPHGenericCollection* negCollection,
57  double expectedMass);
58 
59  // deleted copy constructor and assignment operator
62 
65  ~BPHDecayToTkpTknSymChargeBuilder() override = default;
66 
70  void setTrk1PtMin(double pt);
72  void setTrk2PtMin(double pt);
73  void setTrk1EtaMax(double eta);
74  void setTrk2EtaMax(double eta);
75  void setDzMax(double dz);
76 
78  double getTrk1PtMin() const { return pt1Min; }
79  double getTrk2PtMin() const { return pt2Min; }
80  double getTrk1EtaMax() const { return eta1Max; }
81  double getTrk2EtaMax() const { return eta2Max; }
82  double getDzMax() const { return dzMax; }
83 
84 private:
86  double d1Mass;
87  double d1Sigma;
89  double d2Mass;
90  double d2Sigma;
91  double eMass;
92 
95 
96  double pt1Min;
97  double pt2Min;
98  double eta1Max;
99  double eta2Max;
100  double dzMax;
101 
102  class Particle {
103  public:
104  Particle(const reco::Candidate* c, const reco::Track* tk, double x, double y, double z, double f, double g)
105  : cand(c), track(tk), px(x), py(y), pz(z), e1(f), e2(g) {}
108  double px;
109  double py;
110  double pz;
111  double e1;
112  double e2;
113  };
114  void addParticle(const BPHRecoBuilder::BPHGenericCollection* collection, int charge, std::vector<Particle*>& list);
115 
117  void fillRecList() override;
118 };
119 
120 #endif
~BPHDecayToTkpTknSymChargeBuilder() override=default
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)
const BPHRecoBuilder::BPHGenericCollection * pCollection
double f[11][100]
BPHDecayToTkpTknSymChargeBuilder & operator=(const BPHDecayToTkpTknSymChargeBuilder &x)=delete
BPHDecayToTkpTknSymChargeBuilder(const BPHEventSetupWrapper &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)
double getTrk1PtMin() const
get current cuts
void addParticle(const BPHRecoBuilder::BPHGenericCollection *collection, int charge, std::vector< Particle *> &list)
common object to interface with edm collections
void fillRecList() override
build candidates