CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
BPHOniaToMuMuBuilder.h
Go to the documentation of this file.
1 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHOniaToMuMuBuilder_h
2 #define HeavyFlavorAnalysis_SpecificDecay_BPHOniaToMuMuBuilder_h
3 
12 //----------------------
13 // Base Class Headers --
14 //----------------------
15 
16 //------------------------------------
17 // Collaborating Class Declarations --
18 //------------------------------------
22 
24 
25 class BPHMuonPtSelect;
26 class BPHMuonEtaSelect;
27 class BPHChi2Select;
28 class BPHMassSelect;
29 class BPHRecoSelect;
30 class BPHMomentumSelect;
31 class BPHVertexSelect;
32 
33 //---------------
34 // C++ Headers --
35 //---------------
36 #include <string>
37 #include <vector>
38 #include <map>
39 
40 // ---------------------
41 // -- Class Interface --
42 // ---------------------
43 
45 public:
46  enum oniaType { Phi, Psi1, Psi2, Ups, Ups1, Ups2, Ups3 };
47 
51  const BPHRecoBuilder::BPHGenericCollection* muPosCollection,
52  const BPHRecoBuilder::BPHGenericCollection* muNegCollection);
53 
54  // deleted copy constructor and assignment operator
57 
60  virtual ~BPHOniaToMuMuBuilder();
61 
64  std::vector<BPHPlusMinusConstCandPtr> build();
66 
69  std::vector<BPHPlusMinusConstCandPtr> getList(oniaType type,
70  BPHRecoSelect* dSel = nullptr,
71  BPHMomentumSelect* mSel = nullptr,
72  BPHVertexSelect* vSel = nullptr,
73  BPHFitSelect* kSel = nullptr);
74 
78 
80  void setPtMin(oniaType type, double pt);
81  void setEtaMax(oniaType type, double eta);
82  void setMassMin(oniaType type, double m);
83  void setMassMax(oniaType type, double m);
84  void setProbMin(oniaType type, double p);
85  void setConstr(oniaType type, double mass, double sigma);
86 
88  double getPtMin(oniaType type) const;
89  double getEtaMax(oniaType type) const;
90  double getMassMin(oniaType type) const;
91  double getMassMax(oniaType type) const;
92  double getProbMin(oniaType type) const;
93  double getConstrMass(oniaType type) const;
94  double getConstrSigma(oniaType type) const;
95 
96 private:
99 
103 
104  struct OniaParameters {
109  double mass;
110  double sigma;
111  bool updated;
112  };
113  bool updated;
114 
115  std::map<oniaType, OniaParameters> oniaPar;
116  std::map<oniaType, std::vector<BPHPlusMinusConstCandPtr>> oniaList;
117  std::vector<BPHPlusMinusConstCandPtr> fullList;
118 
119  void setNotUpdated();
121  double ptMin,
122  double etaMax,
123  double massMin,
124  double massMax,
125  double probMin,
126  double mass,
127  double sigma);
128  void extractList(oniaType type);
129 };
130 
131 #endif
const BPHRecoBuilder::BPHGenericCollection * posCollection
double getMassMax(oniaType type) const
void setMassMax(oniaType type, double m)
double getConstrMass(oniaType type) const
double getProbMin(oniaType type) const
constexpr float ptMin
BPHPlusMinusConstCandPtr getOriginalCandidate(const BPHRecoCandidate &cand)
void setProbMin(oniaType type, double p)
std::map< oniaType, std::vector< BPHPlusMinusConstCandPtr > > oniaList
double getMassMin(oniaType type) const
void setParameters(oniaType type, double ptMin, double etaMax, double massMin, double massMax, double probMin, double mass, double sigma)
BPHGenericPtr< const BPHPlusMinusCandidate >::type BPHPlusMinusConstCandPtr
std::vector< BPHPlusMinusConstCandPtr > getList(oniaType type, BPHRecoSelect *dSel=nullptr, BPHMomentumSelect *mSel=nullptr, BPHVertexSelect *vSel=nullptr, BPHFitSelect *kSel=nullptr)
double getConstrSigma(oniaType type) const
void extractList(oniaType type)
BPHOniaToMuMuBuilder(const edm::EventSetup &es, const BPHRecoBuilder::BPHGenericCollection *muPosCollection, const BPHRecoBuilder::BPHGenericCollection *muNegCollection)
BPHOniaToMuMuBuilder & operator=(const BPHOniaToMuMuBuilder &x)=delete
double getEtaMax(oniaType type) const
const BPHRecoBuilder::BPHGenericCollection * negCollection
double getPtMin(oniaType type) const
get current cuts
std::vector< BPHPlusMinusConstCandPtr > build()
build resonance candidates
std::map< oniaType, OniaParameters > oniaPar
void setConstr(oniaType type, double mass, double sigma)
void setEtaMax(oniaType type, double eta)
std::vector< BPHPlusMinusConstCandPtr > fullList
void setMassMin(oniaType type, double m)
tuple etaMax
Definition: Puppi_cff.py:47
const edm::EventSetup * evSetup
void setPtMin(oniaType type, double pt)
set cuts